W 1947 roku inżynierowie z Harvardu znaleźli ćmę uwięzioną w przekaźniku komputera Mark II. Wpisali ją do dziennika pokładowego i zapisali „pierwszy rzeczywisty przypadek wykrycia błędu”. Debugowanie to proces znajdowania i naprawiania błędów w kodzie. Termin ten przyjął się, mimo że większość błędów to nie owady.
Błędy obejmują literówki, błędy logiczne i sytuacje wyścigu. Brak średnika zatrzymuje kompilację. Błędna nazwa zmiennej generuje błędny wynik. Sytuacja wyścigu pojawia się tylko wtedy, gdy dwa wątki działają w określonej kolejności. Niektóre błędy są łatwe do wykrycia. Inne wymagają kilku dni, aby je odtworzyć.
Techniki debugowania
- Instrukcje drukowania: wyprowadzanie wartości w kluczowych punktach
- Punkty przerwania: wstrzymanie wykonywania i sprawdzenie stanu
- Debugowanie metodą gumowej kaczuszki: objaśnianie kodu na głos
- Wyszukiwanie binarne: zawęż miejsce występowania błędu
- Kontrola wersji: porównaj działające i uszkodzone wersje
Debugowanie to praca detektywa. Formułujesz hipotezy, testujesz je i eliminujesz możliwości. Najlepsi debuggerzy są cierpliwi i systematyczni. Nie zgadują. Oni obserwują.
Comments
No comments yet. Be the first to share a thought.
Leave a comment