Debugger

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

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.