KWALIFIKACJA ELM5 - STYCZEŃ 2016

PYTANIE NR 17.
Jaką funkcję pełni program debugger?
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Debugger to narzędzie służące do uruchamiania programu pod kontrolą oraz do znajdowania i analizowania błędów (np. przez śledzenie krok po kroku i podgląd zmiennych). Pozostałe odpowiedzi opisują inne narzędzia: syntezę logiki, kompilację do kodu maszynowego lub translację między językami.

Pełne wyjaśnienie:

Debugger (program do debugowania) to narzędzie, które pomaga uruchomić program w trybie diagnostycznym i odszukać w nim błędy. W praktyce pozwala obserwować, jak program się wykonuje, gdzie trafia przepływ sterowania i jakie wartości mają zmienne w konkretnych momentach. Dzięki temu można dojść do przyczyny problemu, a nie tylko stwierdzić, że program "nie działa".

Odpowiedź "Pomaga uruchomić program i wyszukać w nim błędy." jest poprawna, bo opisuje istotę debuggera: wsparcie w diagnozie oraz lokalizacji usterek w kodzie podczas jego wykonywania.

Pozostałe propozycje dotyczą innych narzędzi i procesów:

  • "Zamienia funkcję logiczną na układ funkcjonalny." opisuje syntezę/projektowanie układów cyfrowych (np. przejście od opisu funkcji do struktury układu), a nie debugowanie programu.
  • "Tworzy kod maszynowy na podstawie kodu źródłowego." to rola kompilatora (i powiązanego łańcucha narzędzi), czyli tłumaczenia programu na postać wykonywalną przez procesor.
  • "Tłumaczy kod napisany w jednym języku na równoważny kod w innym języku." odpowiada translatorowi/transpilerowi, który konwertuje między językami programowania, co nie jest podstawową funkcją debuggera.

Wskazówka egzaminacyjna: jeśli w treści pojawia się "wyszukiwanie błędów" lub "uruchamianie pod kontrolą", myśl o debuggerze. Jeśli jest mowa o "kodzie maszynowym", zwykle chodzi o kompilator (czasem także linker/assembler, zależnie od sformułowania).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Debugger to narzędzie do uruchamiania programu w trybie diagnostycznym i lokalizowania błędów. Umożliwia m.in. zatrzymywanie wykonania, analizę przebiegu programu oraz sprawdzanie wartości zmiennych, co pomaga znaleźć przyczynę nieprawidłowego działania.
Najczęściej spotkasz: uruchomienie pod kontrolą, zatrzymanie programu, wykonanie krokowe, podgląd zmiennych i rejestrów, stos wywołań oraz punkty przerwań. Te funkcje pozwalają sprawdzić, gdzie logika programu odbiega od oczekiwanej.
Kompilator tłumaczy kod źródłowy na postać wykonywalną (np. kod maszynowy lub obiektowy). Debugger służy do analizy działania już uruchamianego programu, aby znaleźć błędy wykonania i logiczne. To różne etapy pracy z oprogramowaniem.
Punkt przerwania to miejsce w kodzie, w którym debugger zatrzymuje wykonanie programu. Dzięki temu można sprawdzić stan programu: wartości zmiennych, przebieg funkcji, warunki logiczne. Pozwala to analizować problem dokładnie w momencie jego powstawania.
Debuggera używa się podczas uruchamiania i testów firmware, np. gdy program źle reaguje na wejścia, zawiesza się lub błędnie obsługuje peryferia. W praktyce pomaga prześledzić przerwania, timery i komunikację, aby znaleźć błąd w logice lub konfiguracji.
Najczęściej mylone są: kompilacja (tworzenie kodu maszynowego), translacja między językami (translator/transpiler) oraz synteza funkcji logicznych w elektronice cyfrowej. Klucz: debugger analizuje działanie programu podczas uruchomienia, a nie "przerabia" kod na inny format.
To wykonywanie programu małymi krokami (np. instrukcja po instrukcji lub linia po linii) pod kontrolą debuggera. Pozwala obserwować, jak zmieniają się zmienne i które gałęzie warunków są wybierane, co ułatwia znalezienie błędu logicznego.
Nie. Debugger daje narzędzia do obserwacji i zatrzymywania programu, ale to użytkownik stawia hipotezy i sprawdza je, analizując stan programu. Automatyczne wykrywanie dotyczy tylko części problemów (np. przerwań, wyjątków), a logika zwykle wymaga analizy.
Testy jednostkowe automatycznie sprawdzają, czy funkcje dają poprawne wyniki dla określonych danych. Debugger służy do ręcznej diagnostyki przebiegu programu i stanu w czasie działania. W praktyce testy wykrywają, że jest problem, a debugger pomaga znaleźć, gdzie i dlaczego.
Naucz się rozróżniać role narzędzi: kompilator (tłumaczy do postaci wykonywalnej), debugger (analizuje działanie i błędy), translator (konwersja między językami). Pomaga też praktyka w dowolnym IDE: ustaw punkt przerwania, uruchom program i sprawdź zmienne.
info

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

Według specjalistów z branży: "Debugger to narzędzie służące do uruchamiania programu pod kontrolą oraz do znajdowania i analizowania błędów (np. przez śledzenie krok po kroku i podgląd zmiennych)."

Źródła:

  • GDB Documentation (GNU Project) – sekcja "Debugging" i opis przeznaczenia debuggera, https://sourceware.org/gdb/documentation/ (dostęp: 2026-03-04)
  • Microsoft Learn – Visual Studio Debugger: Overview/Debugging in Visual Studio, https://learn.microsoft.com/en-us/visualstudio/debugger/ (dostęp: 2026-03-04)
  • Eclipse IDE Help / Eclipse Documentation – Debugging (perspektywa Debug, uruchamianie i analiza), https://help.eclipse.org/ (dostęp: 2026-03-04)

Materiały:

  • Dokumentacja środowiska programistycznego używanego na zajęciach (sekcja: Debug/Debugging)
  • Podstawy programowania mikrokontrolerów – rozdział o debugowaniu i testowaniu
  • Materiały dydaktyczne o narzędziach: kompilator, linker, debugger (kursy wprowadzające do IDE)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego