Debugger to oprogramowanie, którego zadaniem jest
A. łączenie plików bibliotek i wstępnie przetworzonego kodu źródłowego w plik wykonywalny.
Źle. To zadanie konsolidatora (linkera).
B. dynamiczna analiza uruchomionego programu w celu wykrycia przyczyn nieprawidłowego działania.
Dobrze. Debugger pozwala śledzić wykonanie i podejrzeć stan programu w trakcie pracy.
C. instalowanie środowiska programistycznego.
Źle. Instalacją zajmuje się instalator, nie debugger.
D. wykrywanie błędów składniowych języka programowania w kodzie źródłowym.
Źle. Błędy składni wyłapuje kompilator/interpreter, jeszcze przed uruchomieniem.
Pytanie z egzaminu CKE, styczeń 2021 (arkusz E.14-SG-21.01).
Debugger służy do dynamicznej analizy działającego programu - pomaga znaleźć przyczyny błędów logicznych, które ujawniają się dopiero podczas wykonania. Pozwala zatrzymać program w wybranym miejscu (punkt wstrzymania - breakpoint), wykonywać kod krok po kroku, podglądać wartości zmiennych i prześledzić, którędy „idzie” sterowanie. W praktyce korzysta się z debuggera wbudowanego w IDE (np. w przeglądarce dla JavaScriptu) albo narzędzia takiego jak gdb. To odróżnia go od kompilatora, który wyłapuje błędy składni przed startem. Dlatego zadaniem debuggera jest analiza uruchomionego programu w celu wykrycia przyczyn jego nieprawidłowego działania.
Pozostałe odpowiedzi opisują inne narzędzia. Instalowanie środowiska programistycznego to zadanie instalatora, a nie debuggera. Wykrywanie błędów składniowych w kodzie źródłowym należy do kompilatora lub interpretera - wychwytują je, zanim program w ogóle ruszy, podczas gdy debugger pracuje na już działającym programie. Łączenie plików bibliotek i przetworzonego kodu w plik wykonywalny realizuje konsolidator (linker) na etapie budowania. Debugger natomiast wkracza w fazie uruchomienia, by zbadać, dlaczego program zachowuje się niepoprawnie - dlatego to ta odpowiedź jest właściwa.