KWALIFIKACJA INF2 + INF3 - STYCZEŃ 2008

PYTANIE NR 26.
Do lokalizacji błędu wykonania, który wystąpił w programie komputerowym, stosuje się
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Debugger to narzędzie służące do diagnozowania i lokalizowania błędów podczas działania programu. Umożliwia uruchomienie kodu krok po kroku, ustawianie punktów przerwań oraz podgląd wartości zmiennych i stosu wywołań, co pomaga znaleźć miejsce błędu wykonania.

Pełne wyjaśnienie:

Do lokalizacji błędu wykonania (czyli takiego, który ujawnia się dopiero podczas uruchomienia programu) używa się debuggera. Debugger pozwala obserwować działanie programu "od środka" i precyzyjnie ustalić, w którym miejscu i w jakich warunkach pojawia się błąd.

Typowe możliwości debuggera to m.in.:

  • ustawianie punktów przerwań (breakpoints), aby zatrzymać program w wybranym miejscu,
  • wykonywanie kodu krok po kroku (step over/step into),
  • podgląd i śledzenie wartości zmiennych oraz wyrażeń (watch),
  • analiza stosu wywołań (call stack), by zobaczyć, z jakiej funkcji wywołano bieżący fragment kodu,
  • obsługa wyjątków i sygnalizowanie miejsc, w których program przerywa działanie.

Odpowiedź "kompilator" jest niepoprawna, ponieważ kompilator tłumaczy kod źródłowy na kod wynikowy i wykrywa głównie błędy składniowe lub typów na etapie budowania programu, a nie lokalizuje błędów ujawniających się w trakcie wykonania.

Odpowiedź "edytor" jest niepoprawna, bo edytor służy do tworzenia i modyfikacji tekstu/kodu, może oferować podpowiedzi i formatowanie, ale sam w sobie nie uruchamia programu w trybie diagnostycznym ani nie pozwala śledzić wykonania krok po kroku.

Odpowiedź "konsolidator" nie jest standardowym narzędziem do debugowania w typowym zestawie narzędzi programistycznych. Nawet jeśli kojarzyć ją z procesami łączenia/porządkowania, nie zastępuje to debuggera, którego celem jest obserwacja i analiza pracy programu podczas uruchomienia.

Na egzaminie warto zapamiętać prostą regułę: kompilator buduje program, edytor ułatwia pisanie kodu, a debugger pomaga znaleźć błąd, gdy program działa nieprawidłowo.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Debugger to narzędzie do diagnozowania błędów podczas działania programu. Pozwala zatrzymać wykonanie w wybranym miejscu, wykonać kod krokowo i podejrzeć wartości zmiennych oraz stos wywołań. Dzięki temu można znaleźć fragment kodu odpowiedzialny za błąd wykonania.
Najczęściej sprawdzane funkcje to: punkty przerwań, wykonywanie krokowe (wejście do funkcji i przejście dalej), podgląd zmiennych i wyrażeń oraz analiza call stack. Te elementy bezpośrednio pomagają ustalić, gdzie i dlaczego program się psuje.
Kompilator działa na etapie budowania programu i wykrywa głównie błędy składniowe lub problemy typów. Błąd wykonania pojawia się dopiero podczas uruchomienia (np. wyjątek, błędna logika). Do analizy tego typu problemów potrzebujesz debuggera, a nie kompilatora.
Błąd wykonania to problem ujawniający się podczas działania programu, np. dzielenie przez zero, odwołanie do nieistniejącego elementu, błąd dostępu do pliku lub nieobsłużony wyjątek. Program może się zatrzymać albo działać nieprawidłowo mimo poprawnej kompilacji.
Ustaw breakpoint w miejscu podejrzanym o błąd, uruchom program w trybie debugowania i zatrzymaj wykonanie na tym punkcie. Następnie wykonuj kod krokowo i obserwuj zmiany wartości zmiennych. Gdy wartości zaczną być niepoprawne, zwykle jesteś blisko źródła problemu.
Debugowanie polega na zatrzymywaniu programu i analizie jego stanu w danym momencie (kroki, zmienne, stos). Logowanie zapisuje komunikaty do konsoli lub pliku podczas normalnego działania. Logi są dobre do analizy po fakcie, a debugger daje interaktywną kontrolę nad wykonaniem.
Debugger jest szczególnie przydatny, gdy musisz zrozumieć, co dzieje się w programie w konkretnym przebiegu (np. dla rzadkiego błędu, nietypowych danych wejściowych). Testy jednostkowe są najlepsze do stałej weryfikacji poprawności, ale nie zawsze szybko pokażą, gdzie powstaje problem.
Często mylone są błędy kompilacji (składnia, typy) z błędami wykonania (wyjątki, błędna logika). Uczniowie wybierają wtedy kompilator zamiast debuggera. Warto zapamiętać: jeśli program się uruchamia, ale "wywala" lub działa źle, analizujesz to debuggerem.
Tak. Debugger w IDE pozwala analizować backend (np. API) podobnie jak inne aplikacje: breakpoints w kontrolerach, podgląd obiektów żądania i odpowiedzi, sprawdzanie parametrów, a także śledzenie przepływu przez funkcje. To przyspiesza znajdowanie błędów po stronie serwera.
Uporządkuj role narzędzi: edytor do pisania kodu, kompilator do budowania, debugger do diagnozy działania. Przećwicz w jednym środowisku: ustawienie breakpointu, krokowe wykonanie i podgląd zmiennych. Na egzaminie zwykle wystarczy poprawnie dopasować narzędzie do zadania.
info

Statystycznie 83% uczniów zna prawidłową odpowiedź. średnio łatwe

Według specjalistów z branży: "Debugger to narzędzie służące do diagnozowania i lokalizowania błędów podczas działania programu."

Źródła:

  • Microsoft Learn — Visual Studio Debugger: dokumentacja funkcji debuggera (breakpoints, stepping, watch), https://learn.microsoft.com/en-us/visualstudio/debugger/ - dostęp 2026-02-28
  • GNU Project — GDB: The GNU Debugger, dokumentacja i opis zastosowań debuggera, https://www.gnu.org/software/gdb/documentation/ - dostęp 2026-02-28
  • MDN Web Docs — Debugging (narzędzia i podstawowe pojęcia debugowania), https://developer.mozilla.org/en-US/docs/Learn/Common_questions/Tools_and_setup/What_are_browser_developer_tools - dostęp 2026-02-28

Materiały:

  • Dokumentacja IDE (np. debugowanie w środowisku programistycznym używanym na zajęciach)
  • Podstawy debugowania: breakpoints, step over/into, watch, call stack
  • Instrukcje obsługi debuggera języka/środowiska (np. GDB dla C/C++)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego