KWALIFIKACJA INF3 - WRZESIEŃ 2014

PYTANIE NR 38.
Proces, w którym wykrywa się i usuwa błędy w kodzie źródłowym programów, to
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
Debugowanie to proces polegający na wykrywaniu, analizie i usuwaniu błędów w kodzie źródłowym. "Kompilowanie" dotyczy tłumaczenia kodu na postać wykonywalną, a "standaryzacja" i "normalizacja" odnoszą się do porządkowania zasad lub danych, nie do naprawy błędów programu.

Pełne wyjaśnienie:

Proces wykrywania i usuwania błędów w kodzie źródłowym nazywa się debugowaniem. Obejmuje on nie tylko znalezienie miejsca, w którym program działa nieprawidłowo, ale też zrozumienie przyczyny (np. błąd logiczny, nieobsłużony wyjątek, zła wartość zmiennej) oraz wprowadzenie poprawki i ponowną weryfikację działania.

Odpowiedź "kompilowanie" jest niepoprawna, ponieważ kompilacja to etap tłumaczenia kodu źródłowego na kod pośredni lub maszynowy i wykrywa głównie błędy składniowe/typów. Kompilator może zgłaszać błędy, ale samo kompilowanie nie jest procesem diagnozowania i naprawy przyczyn nieprawidłowego działania programu.

Odpowiedź "standaryzacja" nie pasuje, bo oznacza ujednolicanie zasad, formatów lub procedur (np. przyjęcie konwencji nazewnictwa, stylu kodu, standardów komunikacji). Może pośrednio pomagać w jakości kodu, ale nie jest czynnością polegającą na usuwaniu błędów.

Odpowiedź "normalizacja" jest błędna w tym kontekście, ponieważ w IT najczęściej dotyczy porządkowania danych (np. w projektowaniu relacyjnych baz danych) lub przekształceń danych do postaci "normalnej". To inny obszar pojęciowy niż naprawa błędów w kodzie.

W praktyce debugowanie realizuje się m.in. przez uruchamianie programu krok po kroku, ustawianie breakpointów, podgląd zmiennych, analizę logów i testy regresji po wprowadzeniu poprawki.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Debugowanie to proces wykrywania, diagnozowania i usuwania błędów w programie. W praktyce obejmuje analizę objawów (np. błąd w konsoli), znalezienie przyczyny w kodzie oraz poprawkę i ponowne sprawdzenie, czy problem nie wraca (testy regresji).
Kompilowanie tłumaczy kod źródłowy na postać wykonywalną i wykrywa głównie błędy składni/typów. Debugowanie polega na szukaniu przyczyn nieprawidłowego działania programu (także przy błędach logicznych) i na ich naprawie, często podczas uruchomienia krokowego.
Kompilator zgłasza błędy kompilacji (np. brak średnika, zły typ), lecz nie analizuje pełnego zachowania programu w czasie wykonania. Debugowanie wymaga zwykle uruchomienia programu, obserwacji zmiennych, przepływu sterowania i odtworzenia scenariusza, który wywołuje usterkę.
Najczęściej używa się narzędzi deweloperskich przeglądarki (konsola, źródła, sieć), debuggera w IDE oraz logowania. Typowe funkcje to breakpointy, podgląd wartości zmiennych, śledzenie stosu wywołań i analiza żądań HTTP, które powodują błąd.
Breakpoint zatrzymuje wykonanie programu w wybranym miejscu kodu. Dzięki temu można krokowo przechodzić instrukcje, sprawdzać wartości zmiennych i ocenić, czy logika programu przebiega zgodnie z oczekiwaniami. To pomaga wykryć moment, w którym pojawia się błędny stan.
Logi są wygodne, gdy problem występuje na serwerze, w środowisku produkcyjnym lub jest trudny do odtworzenia lokalnie. Debugger bywa lepszy podczas pracy lokalnej i analizy krokowej. W praktyce często łączy się oba podejścia: logi do śledzenia zdarzeń, debugger do analizy szczegółów.
Normalizacja w IT najczęściej dotyczy porządkowania danych (np. w relacyjnych bazach danych) lub standaryzacji formatu danych. Nie opisuje procesu znajdowania i usuwania błędów w programie. Naprawa błędów w kodzie to domena debugowania i testowania.
Nie zawsze. Część błędów można znaleźć statycznie (przegląd kodu, analiza statyczna, linters), ale pełne debugowanie często obejmuje też obserwację zachowania w czasie wykonania, bo wiele problemów ujawnia się dopiero podczas działania (np. wyjątki, złe dane wejściowe).
Uczniowie często utożsamiają komunikaty o błędach z debugowaniem, bo oba "pokazują błędy". Błędy kompilacji dotyczą zwykle składni lub typów, a debugowanie obejmuje także błędy logiczne i wykonaniowe. W pytaniach egzaminacyjnych kluczowe jest słowo "usuwa błędy w kodzie".
Warto znać definicję debugowania i odróżniać ją od kompilacji, testowania i pojęć bazodanowych. Przećwicz: ustawianie breakpointów, odczyt stosu wywołań, interpretację logów i komunikatów konsoli. Pomaga też rozwiązywanie krótkich zadań z błędami w kodzie.
info

To pytanie poprawnie rozwiązuje 70% zdających egzamin. średnio łatwe

W praktyce zawodowej kluczowe jest to, że debugowanie to proces polegający na wykrywaniu, analizie i usuwaniu błędów w kodzie źródłowym.

Źródła:

  • Python 3 Documentation: The Python Debugger (pdb) — https://docs.python.org/3/library/pdb.html (dostęp: 02.03.2026)
  • MDN Web Docs: Debugging JavaScript — https://developer.mozilla.org/en-US/docs/Learn/Tools_and_testing/Cross_browser_testing/JavaScript (dostęp: 02.03.2026)
  • Visual Studio Code Documentation: Debugging — https://code.visualstudio.com/docs/editor/debugging (dostęp: 02.03.2026)

Materiały:

  • Dokumentacja IDE (np. rozdziały o debugowaniu w Visual Studio Code)
  • Podstawy inżynierii oprogramowania: rozdziały o testowaniu i debugowaniu
  • Materiały edukacyjne o kompilacji i uruchamianiu programów (różnice między compile-time i run-time)

Aktualizacja pytania: 31.03.2026

Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego