Co to jest debuger?

Ukończone

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.