Debugger to program służący do
Pytanie z egzaminu CKE, styczeń 2015 (arkusz E.14-X-15.01).
Poprawna jest odpowiedź o wyszukiwaniu błędów w kodzie programu. Debugger pozwala uruchomić program pod kontrolą: zatrzymać go w wybranym miejscu (punkt przerwania, ang. breakpoint), wykonywać instrukcje krok po kroku i podglądać aktualne wartości zmiennych. Dzięki temu programista widzi, w którym miejscu działanie programu odbiega od zamierzonego, i może znaleźć przyczynę błędu logicznego.
Do zapamiętania: nazwa pochodzi od angielskiego „bug” (błąd), a usuwanie błędów to debugowanie. W tworzeniu stron debugger JavaScriptu jest wbudowany w przeglądarki (narzędzia deweloperskie, klawisz F12, karta Sources lub Debugger), a dla PHP używa się np. rozszerzenia Xdebug współpracującego z edytorem.
Każda z błędnych odpowiedzi opisuje zadanie innego narzędzia. Sprawdzaniem szybkości programu zajmuje się profiler albo narzędzia do testów wydajności - mierzą czas wykonania funkcji i wskazują najwolniejsze fragmenty. Optymalizacja pamięci używanej przez aplikację to praca programisty wspierana przez profilery pamięci; debugger może pokazać zawartość zmiennych, ale sam niczego nie optymalizuje. Badanie właściwości programu jest określeniem zbyt ogólnym - właściwości pliku czy programu sprawdza się zupełnie innymi narzędziami.
Debugger ma jedno konkretne przeznaczenie: pomaga znaleźć błąd w kodzie, pozwalając śledzić wykonanie instrukcja po instrukcji i obserwować wartości zmiennych. Łatwo go pomylić z kompilatorem, który wykrywa błędy składni podczas tłumaczenia kodu, oraz z walidatorem, który sprawdza poprawność kodu HTML i CSS. Debugger działa na uruchomionym programie i służy głównie do szukania błędów logicznych, których kompilator nie zauważy.