"Kiedy nie możesz znaleźć błędu" - czyli czym jest i o co chodzi w debugowaniu.

Napisaliśmy kod, kompilator go zbudował, system uruchomił, jednak nic się nie stało lub dostaliśmy zły wynik. Kojarzycie taką sytuacje? Myślę, że każdego programistę kiedyś to spotkało. Co wtedy? Można zrobić sobie przerwę i wrócić do danego kodu za chwilę. Niestety to nie zawsze pomaga.

 

Co zrobić jeśli nie wiemy gdzie jest błąd? Gdzie szukać rozwiązania? Z pomocą przychodzi nam debuger oraz proces, którego nazwa pochodzi od tego narzędzia czyli debugowanie. Debugowanie (z ang. odpluskwianie) to proces polegający na wyszukiwaniu i usuwaniu błędów z kodu, zaś debuger to narzędzie (najczęściej wbudowane w Integrated Development Environment - w skrócie IDE), które umożliwia "w locie" podglądanie wartości zmiennych, przechodzenie linijka po linijce przez nasz kod oraz, w niektórych przypadkach, na poprawianie kodu na bieżąco.

 

W takim razie, jak to wykonać? Posłużmy się przykładowym IDE Visual Studio oraz językiem programowania C#. Na załączonym obrazku widzimy przykładowy kod.

 

 Giganci Programowania - programowanie dla dzieci i młodzieży. Blog. Debugowanie part 1

 

Aby rozpocząć debugowanie należy ustawić tzw. breakpointy klikając lewym przyciskiem myszy w specjalnie wyznaczonym polu (breakpoint to ta mała czerwona kropka po lewej stronie). Następnie należy ruchomić program w trybie Debug (wybrać Debug z rozwijanego menu i wcisnąć zieloną strzałkę u góry). Program zatrzyma swoje działanie na określonej linii (na breakpoincie). Teraz za pomocną klawiszy F10, F11 możemy poruszać się do przodu po kolejnych liniach. Przydatną funkcja jest możliwość podglądu zmiennych. Możemy to zrobić najeżdżając myszka na konkretną zmienna (lub obiekt) lub w specjalnym oknie o nazwie Locals (Debug -> Windows -> Locals , dostępne tylko w trybie Debugowania).

 

 Giganci Programowania - programowanie dla dzieci i młodzieży. Blog. Debugowanie part 2

 

Żółta strzałka, określa w którym miejscu kodu teraz się znajdujemy. Kompilator w niektórych przypadkach umożliwia cofnięcie się do poprzednich linii poprzez przeciągnięcie tej strzałki w inne miejsce. Jak widać w okienku Locals jak i bezpośrednio w kodzie możemy sprawdzić wartości zmiennych i wyeliminować błąd.

 

 Giganci Programowania - programowanie dla dzieci i młodzieży. Blog. Debugowanie part 3

 

Z debugera korzysta niemalże każdy programista. Jest to narzędzie niezbędne w codziennej pracy. W prosty sposób możemy skontrolować pracę programu i wykryć niechciane zachowanie. Warto poświęcić chwilę temu zagadnieniu podczas nauki programowania.