Myśli, porady, tutoriale na temat środowiska Eclipse (i nie tylko)...

wtorek, 15 lipca 2008

Warunkowe punkty wstrzymań

Każdy programista wcześniej, czy później staje przed koniecznością skorzystania z opcji debug w swoim ulubionym narzędziu. Pewnie nie raz już analizowaliście w ten sposób swój kod w Eclipsie, ciekaw jednak jestem, czy jesteście w pełni świadomi jakie możliwości niesie ze sobą mechanizm odpluskwiania (ang. debugging) w Eclipsie? Jedną z najciekawszych opcji jest możliwość tworzenia warunkowych punktów wstrzymań (ang. breakpoint). Wyobraźmy sobie, że w naszym kodzie mamy pętlę,w której przeglądamy 1000 obiektów i wiemy, że błąd występuje tylko dla obiektów o określonej wartości...czy będziemy 900 razy klikali Resume, aby w końcu zatrzymać się w odpowiednim miejscu? czy może chwilowo wstawimy instrukcję warunkową, która pozwoli nam się zatrzymać, znajdziemy błąd, a potem...zapomnimy tę instrukcję usunąć? Na pomoc przychodzi nam Eclipse! Jeśli klikniemy na punkcie wstrzymań prawym klawiszem myszy (na pasku edytora Javy, lub w widoku Breakpoints)


i wybierzemy opcję Breakpoint Properties..., zobaczymy, że ostnieje sekcja Enable Condition.


W polu edycji dostępny jest asystent kodu (ang. code assist), więc bez problemu możemy korzystać ze skrótu Ctrl+Spacja i odwoływać się do obiektów i metod dostępnych w kodzie, w zasięgu danego punktu wstrzymań. Po dodaniu warunku:

zauważymy, że nasz punkt wstrzymać wygląda teraz trochę inaczej:
Jeśli przyjrzymy się uważniej sekcji pozwalającej definiować warunek dla punktu wstrzymać, zauważymy tam dwie opcje:

  • condition is 'true' - punkt wstrzymań zatrzyma się, jeśli podany przez nas warunek przyjmie wartość prawdziwą
  • value of condition changes - punkt wstrzymań zatrzyma się, jeśli podany przez nas warunek zmieni swoją wartość z "prawda" na "fałsz" lub na odwrót
Jeśli po raz pierwszy zaglądacie do właściwości punktów wstrzymań, to pewnie zauważyliście również inne opcje...o nich jednak napiszę innym razem.

Brak komentarzy: