Co to jest debuger?
Podczas swojej podróży jako programista, zawsze nadchodzi ten moment, w którym zadajesz sobie pytanie:
Dlaczego mój kod nie działa?
Zadawanie tego pytania jest normalną częścią dnia każdego dewelopera. Nauczyć się wygodnie znajdować i naprawiać swoje błędy w minimalnym czasie i z minimalną frustracją. Gdy w programie występuje usterka, każdy zwykle ma swój własny sposób radzenia sobie z tym problemem.
Prawdopodobnie próbowano już samodzielnie wykonać co najmniej jedną z tych metod debugowania:
- Spróbuj uruchomić program ponownie, ponieważ powinien działać.
- Wyjaśnij swój problem gumowej kaczce.
- Przeczytaj ponownie kod, aby dowiedzieć się, jak rozwiązać ten problem.
- Spacer na zewnątrz.
- Dodaj kilka linijek z wiadomościami
Console.WriteLine("here")
w kodzie.
Możesz mieć różne stopnie sukcesu z tymi metodami. Jedno podejście, które jest powszechnie uważane za częściej skuteczne, polega na użyciu debugera. Ale co to jest debuger, dokładnie?
Debuger to narzędzie programowe, którego można użyć do obserwowania i kontrolowania przepływu wykonywania programu za pomocą podejścia analitycznego. Jego celem projektowania jest pomoc w znalezieniu głównej przyczyny błędu i pomocy w jego rozwiązaniu. Działa poprzez hostowanie programu we własnym procesie wykonywania lub uruchomienie go jako oddzielny proces połączony z uruchomionym programem, na przykład .NET.
Debugery są dostępne w różnych wersjach. Niektóre działają bezpośrednio z wiersza polecenia, podczas gdy inne są wyposażone w graficzny interfejs użytkownika. W tym module użyjemy zintegrowanego debugera graficznego programu Visual Studio Code.
Dlaczego warto używać debugera
Jeśli nie uruchamiasz kodu za pomocą debugera, prawdopodobnie zgadywanie tego, co dzieje się w programie. Główną zaletą korzystania z debugera jest to, że można obserwować uruchomiony program. Możesz śledzić wykonywanie programu linia po linii. W ten sposób można uniknąć prawdopodobieństwa błędnego zgadywania.
Każdy debuger ma własny zestaw funkcji. Dwa najważniejsze, które przychodzą z prawie wszystkimi z nich, to:
- Kontrolowanie wykonywania programu: możesz wstrzymać program i uruchomić go krok po kroku, co pozwala zobaczyć, który kod jest wykonywany i jak wpływa na stan programu.
- obserwowanie stanu programu: na przykład możesz sprawdzić wartość zmiennych i parametrów funkcji w dowolnym momencie podczas wykonywania kodu.
Opanowanie użycia debugera jest ważną umiejętnością dla dewelopera, który jest często pomijany. Dzięki temu można wydajniej wyszukiwać błędy w kodzie i szybko zrozumieć, jak działa program.
Odkryjmy to w następnej jednostce.