środa, 11 listopada 2009

Eclipse and Java Using the Debugger

Witam!

"Eclipse and Java Using the Debugger" jest trzecim z rzędu video tutorialem, który przerobiłem z serii "Eclipse And Java: Free Video Tutorials". Mimo iż w często się słyszy, że Debuggera nie powinno się używać, a zamiast tego powinno się pisać testy jednostkowe (o czym mam nadzieję napisać coś więcej w przyszłości) to jednak wydaje mi się, że początkujący programista powinien poznać to narzędzie. Osobiście długo unikałem wszelkiej maści debuggerów (C, C++, C#), ale nie można przed tym wiecznie uciekać :)

W kursie, o którym mowa, zawarto wiele podstawowych informacji. Czasem ma się wrażenie, że prowadzący narzuca zbyt wolne tępo, ale może to wynikać z mojej przerwy w kursie i dłuższej już pracy z Eclipsem. Jednak jak sam się na własnej skórze przekonałem warto przeczekać "wolniejsze momenty", bo bardzo łatwo może nam coś umknąć i potem będzie trzeba szukać tego po całym filmie. Tutorial jest podzielony na dwie części:
  • podstawy (odcinki 1 - 4)
  • techniki zaawansowane (5 - 7)
Z pierwszej części co warto sobie zanotować (przyswoić) na przyszłość to na pewno skróty klawiaturowe:
  • Ctrl + R = Run to line - wykonuje wszystkie instrukcje między aktualną pozycją a pozycją kursora,. Dzięki temu nie musimy używać wielu breakpoint'ów, wystarczy przejść w odpowiedni kawałek kodu i przeskakujemy nie interesujący nas w danej chwili fragment programu
  • Alt + Shift + Up - zaznaczenie kolejnego elementu kodu
  • Alt + Shift + Down - odznaczenie kolejnego elementu kodu

Z istotnych własności debuggera warto pamiętać, że gdy wykonamy jakieś zmiany na kodzie, który aktualnie debuggujemy, Eclipse automatycznie zrestartuje aktualną sesję z nową wersją kodu.

Ostatnią bardzo ciekawą i przydatną funkcją tego narzędzia jest "Drop to frame". Zawsze zastanawiałem się, dlaczego nie zaimplementowano żadnej opcji powracania do wcześniejszego stanu sesji, zamiast restartowania sesji i przechodzenia wszystkich kroków od nowa? Otóż okazuje się, że w obrębie danego bloku możemy powracać do kodu, który już się wykonał (a przez to przywracać wcześniejszy stan aplikacji). W tym celu zaznaczamy przechodzimy kursorem w wybrane miejsce i naciskamy przycisk "Drop to frame" (obok pozostałych przycisków pozwalających sterować przebiegiem procesu debuggowania). W tym momencie wszystkie zmienne zostaną zmienione do stanu wcześniejszego, a my możemy w bardzo szybki i wygodny sposób przeanalizować ponownie wybrany fragment kodu.

Część zaawansowana tutorialu trochę mnie zawiodła. Oczywiście pojawiły się ciekawe informacje jak np. Hit Count, Conditional Breakpoint, Watchpoints, czy akternatywne JRE przeznaczone z myślą o debuggowaniu i umożliwiające śledzenie działania metod systemowych (na przykładzie LinkedList). Jednakże ostatnie dwie lekcje (o referencjach do obiektów oraz metodach rekurencyjnych) były nużące i poza niewielką liczbą informacji o debuggerze opiewały samą Javę i jej cechy. Oczywiście jest to tutorial nie tylko do Eclipse, ale także do samej Javy, lecz uważam, że takie lekcje powinny się znaleźć w innym kursie.

Ogólnie kurs oceniam na 7/10. Mogłoby być lepiej, ale i tak nie uważam czasu nad nim spędzonego za zmarnowany i polecam przejrzenie go każdemu, kto jest nowy (i nie tylko) w Eclipse.

Warty zaznaczenia jest fakt, że prowadzący korzysta z Eclipse w wersji 3.3. W najnowszej wersji Galileo istnieją pewne różnice w interfejsie, lecz sama funkcjonalność pozostaje niezmieniona.

Na koniec stadardowo garść linków:

Pozdrawiam, Łukasz.

Brak komentarzy:

Publikowanie komentarza