KWALIFIKACJA INF3 - STYCZEŃ 2015

PYTANIE NR 34.
Debugger to program służący do
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Debugger to narzędzie używane w procesie debugowania, czyli znajdowania i analizowania błędów w kodzie podczas działania programu. Umożliwia m.in. zatrzymanie wykonania (breakpoint), uruchamianie krokowe i podgląd zmiennych, aby ustalić, gdzie powstaje błąd.

Pełne wyjaśnienie:

Debugger to narzędzie programistyczne służące do wyszukiwania i analizowania błędów w kodzie podczas uruchomienia programu. Jego celem jest ułatwienie zrozumienia, co dzieje się w aplikacji "w środku" w czasie wykonywania instrukcji.

W praktyce debugger pozwala m.in.:

  • ustawić punkt przerwania (breakpoint) i zatrzymać wykonanie w konkretnym miejscu,
  • wykonać program krokowo (step over/step into),
  • podejrzeć wartości zmiennych i parametrów,
  • przeanalizować stos wywołań (call stack) i przebieg programu.

Dlatego odpowiedź "wyszukiwania błędów w kodzie programu." jest trafna: opisuje podstawową i najbardziej charakterystyczną funkcję debuggera.

Pozostałe propozycje odnoszą się do innych klas narzędzi lub innych celów pracy:

  • "sprawdzania szybkości programu." dotyczy testów wydajności, profilowania i benchmarków; to nie jest główna rola debuggera.
  • "badania właściwości programu." jest zbyt ogólne i nie wskazuje na kluczową funkcję debugowania; właściwości bada się też testami, analizą statyczną czy profilowaniem.
  • "zoptymalizowania pamięci używanej przez aplikację." wskazuje na optymalizację i profilowanie pamięci. Debugger może pomóc pośrednio w analizie problemu, ale samo optymalizowanie pamięci nie jest jego podstawowym zadaniem.

Na egzaminie warto kojarzyć debugger z czynnościami: breakpoint, krokowanie, podgląd zmiennych oraz szukanie przyczyny błędu, a nie z pomiarem szybkości czy optymalizacją zasobów.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Debugger to narzędzie do debugowania, czyli wykrywania i analizowania błędów w kodzie podczas działania programu. Umożliwia zatrzymanie wykonania, uruchamianie krokowe oraz podgląd wartości zmiennych, co pomaga znaleźć przyczynę nieprawidłowego działania.
W IDE debugger pozwala ustawiać punkty przerwania, wykonywać kod krok po kroku, sprawdzać stos wywołań i obserwować zmienne. Dzięki temu można szybko ustalić, w którym miejscu logika programu odbiega od oczekiwań i co dokładnie powoduje błąd.
Debugger koncentruje się na poprawności działania i znalezieniu błędu logicznego lub wyjątku. Testy wydajności wymagają narzędzi profilujących, które mierzą czasy funkcji i zużycie zasobów. Debugger może pomóc w analizie, ale sam w sobie nie jest narzędziem benchmarkowym.
Breakpoint (punkt przerwania) zatrzymuje wykonanie programu w wybranej linii kodu. Po zatrzymaniu można sprawdzić wartości zmiennych, przejrzeć stos wywołań i kontynuować działanie krokowo. To jedna z kluczowych funkcji debuggera ułatwiająca lokalizację błędu.
Uruchamianie krokowe polega na wykonywaniu programu instrukcja po instrukcji (np. "wejdź do funkcji", "przejdź do następnej linii"). Pozwala obserwować, jak zmienia się stan aplikacji w czasie i w którym kroku pojawia się niepoprawna wartość lub nieoczekiwany przebieg.
Debugger z reguły nie "naprawia" błędów automatycznie. Jego rolą jest dostarczyć informacji diagnostycznych: gdzie program się zatrzymał, jakie są wartości zmiennych, jaki jest stos wywołań. Poprawkę wprowadza programista, edytując kod na podstawie tych obserwacji.
Debugowanie dotyczy głównie poprawności: znajdowania przyczyny błędu, wyjątku lub złej logiki. Profilowanie dotyczy wydajności: pomiaru czasu działania fragmentów kodu i zużycia CPU/pamięci. W praktyce używa się innych narzędzi, choć niektóre środowiska oferują oba tryby.
W nowoczesnych przeglądarkach narzędzia developerskie zawierają panel do debugowania (często "Sources"/"Debugger"). Pozwala on ustawiać breakpointy w skryptach, śledzić wykonanie krokowe i podglądać zmienne. To podstawowe wsparcie przy błędach w aplikacjach webowych.
Najczęściej myli się debugger z narzędziem do pomiaru szybkości lub optymalizacji pamięci. Uczniowie wybierają odpowiedzi o "wydajności", bo kojarzą problemy z aplikacją z wolnym działaniem. Warto zapamiętać: debugger = analiza błędów i przebiegu wykonania.
Najlepiej przećwiczyć pracę z debuggerem: ustaw breakpoint, wykonuj kod krokowo, obserwuj zmienne i odczytuj stos wywołań. Warto też rozróżniać pojęcia: debugowanie, testowanie, profilowanie. Na testach często sprawdzana jest właśnie ta różnica znaczeniowa.
info

Około 84% zdających odpowiada poprawnie na to pytanie. średnio łatwe

W praktyce zawodowej kluczowe jest to, że debugger to narzędzie używane w procesie debugowania, czyli znajdowania i analizowania błędów w kodzie podczas działania programu.

Źródła:

  • Mozilla Developer Network (MDN): "What is debugging?" (sekcja o debugowaniu i narzędziach) https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript#the_browser_developer_tools - accessed 2026-02-27
  • Microsoft Learn: "Debugging in Visual Studio" (podstawy: breakpoints, step through code) https://learn.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour - accessed 2026-02-27
  • Free Software Foundation: GNU GDB Manual (opis przeznaczenia debuggera i typowych możliwości) https://www.gnu.org/software/gdb/documentation/ - accessed 2026-02-27

Materiały:

  • Dokumentacja narzędzi developerskich przeglądarek (sekcja Debugger/Sources)
  • Dokumentacja IDE używanego w nauce (np. funkcje debugowania: breakpoints, step over/into)
  • Podręczniki i kursy wprowadzające do inżynierii oprogramowania: rozdziały o debugowaniu i testowaniu

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego