Co to jest debuger?

Ukończone

Podczas pracy jako deweloper zawsze dochodzisz do tego momentu, gdy zadajesz sobie pytanie:

Dlaczego mój kod nie działa?

Zdarza się to każdemu deweloperowi. Sztuczka polega na tym, aby znaleźć wygodny sposób wyszukiwania i naprawiania błędów — jak najszybszy i jak najmniej stresujący. Kiedy w programie występuje usterka, czy radzisz sobie z nim w jeden z tych sposobów?

  • Uruchom program ponownie, ponieważ powinien działać.
  • Wyjaśnienie problemu gumowej kaczce.
  • Przeczytaj ponownie kod, aby znaleźć problem.
  • Spacer na świeżym powietrzu.
  • Napisanie kilku komunikatów Console.WriteLine("here") typu spam w swoim kodzie.

Możesz mieć różne stopnie sukcesu z tymi metodami, ale jedno podejście jest powszechnie uważane za najbardziej udane. Używanie debugera. Ale co dokładnie jest debugerem?

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 projektu jest pomoc w znalezieniu głównej przyczyny błędu i pomocy w jego rozwiązaniu. Działa on przez hostowanie programu we własnym procesie wykonywania. Albo uruchomić jako oddzielny proces dołączony do twojego programu, na przykład .NET.

Debugery są dostępne w różnych wersjach. Niektóre działają bezpośrednio z wiersza polecenia, a inne mają graficzny interfejs użytkownika. W tym module używamy zintegrowanego debugera graficznego programu Visual Studio.

Dlaczego warto używać debugera?

Jeśli nie uruchamiasz kodu za pomocą debugera, prawdopodobnie zgadujesz, co dzieje się w twoim programie. Główną zaletą korzystania z debugera jest to, że można obserwować działanie uruchomionego programu. Możesz śledzić wykonywanie programu po jednym wierszu kodu naraz. W ten sposób unikniesz prawdopodobieństwa błędnego odgadnięcia.

Każdy debuger ma swój własny zestaw funkcji. Dwie najważniejsze, które ma niemal każdy z nich, są następujące:

  • 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.

Efektywne używanie debugera jest ważnym, ale pomijanym umiejętnością dla dewelopera. Dzięki temu można wydajniej wyszukiwać błędy w kodzie i szybko zrozumieć, jak działa program.

Omówimy ją podczas kolejnej lekcji.