Czym jest debugger?
Debugger to narzędzie programistyczne służące do wyszukiwania, analizowania i usuwania błędów w kodzie programu. Umożliwia kontrolowane uruchamianie programu oraz sprawdzanie, co dzieje się w poszczególnych fragmentach kodu.
W pytaniach egzaminacyjnych najważniejsze jest skojarzenie: debugger = szukanie błędów w kodzie.
Do czego służy debugger?
Debugger pozwala m.in.:
- uruchamiać program krok po kroku,
- zatrzymywać wykonanie programu w wybranym miejscu,
- sprawdzać wartości zmiennych,
- analizować przepływ działania programu,
- wykrywać błędy logiczne i wykonania,
- obserwować działanie funkcji, pętli i instrukcji warunkowych.
Podstawowe funkcje debuggera
Najczęściej używane funkcje debuggera to:
- breakpoint - punkt przerwania, czyli miejsce, w którym program ma się zatrzymać,
- step into - wejście do wnętrza funkcji,
- step over - wykonanie instrukcji bez wchodzenia do funkcji,
- watch - obserwowanie wartości wybranej zmiennej,
- call stack - stos wywołań pokazujący, jakie funkcje zostały uruchomione.
Przykład zastosowania
Jeżeli program zwraca zły wynik, debugger pozwala zatrzymać go przed podejrzaną instrukcją i sprawdzić wartości zmiennych. Dzięki temu programista może znaleźć miejsce, w którym logika programu działa niepoprawnie.
Czym debugger nie jest?
Debugger nie służy przede wszystkim do:
- ogólnej analizy właściwości oprogramowania,
- testowania wydajności programu,
- optymalizacji zużycia pamięci.
Do wydajności używa się raczej profilerów, a do analizy jakości kodu - narzędzi statycznej analizy kodu.