Eclipse w praktyce cz. 5 – debugowanie

post_img

Ostatni odcinek kursu, wprowadzającego w zaawansowane możliwości Eclipse, opisuje debugowanie oraz proponuje kilka przydatnych pluginów.

Uwaga: niektóre przykłady skrótów klawiaturowych wymagają wprowadzenia zmian w konfiguracji Eclipse.

1. Debugging

Ctrl F11 – run last launched application

F11 – debug last launched application

Proste skróty, dzięki którym nie musimy wybierać opcji z menu, tylko ponownie uruchamiamy to, co ostatnio.

Ctrl Shift B – toggle Breakpoint

Wstawia/usuwa breakpointa w danej linii.

Breakpoint properties

Hit Count – umożliwia zatrzymanie debuga po określonej liczbie „zaliczeń” breakpointa.

Enable Condition – zatrzymuje debug tylko, gdy podany warunek jest prawdą.

F5 – Step into

Wchodzi do środka wywoływanej metody.

F6 – Step over

Wykonuje metodę, ale nie debuguje jej zawartości.

F7 – Step return

Wykonuje do końca kod metody, w której znajduje się debug i wychodzi do metody wywołującej.

F8 – Resume

Opuszcza tryb debugowania krok-po-kroku.

Okno Variables

Zawiera listę dostępnych zmiennych wraz z ich wartościami.

Możliwa jest zmiana ich wartości bezpośrednio w tabeli (Enter zatwierdza) lub w oknie podglądu wartości pod tabelą (Ctrl S zatwierdza).

Ctrl Shift D – Display

Ten skrót odnosi się do okna Display (Window Show view Display).

Gdy debug zatrzyma się w jednym z breakpointów, można użyć okna Display do wykonywania wpisanego w tym oknie kodu.

Pisząc kod w oknie Display mamy możliwość korzystania z Content Assista.

W celu wykonania fragmentu wpisanego kodu należy go zaznaczyć i wcisnąć Ctrl Shift D.

Można również kliknąć na ikonę z lupą, aby przejrzeć strukturę wyniku.

Podmiana kodu, czyli nigdy nic nie wiadomo.

Gdy debug się zatrzyma w danej klasie, możemy zmienić nieco jej kod i zapisać zmiany. To spowoduje dynamiczną podmianę kodu klasy i ponowne wejście do metody, w której zatrzymał się debug. Ta funkcja działa również, gdy wykonywany kod znajduje się na serwerze. Niestety ciężko polegać na podmianie kodu, gdyż do końca nie wiadomo, czy Javie udało się ją wykonać. Prawdopodobnie, gdy nie zmieniamy sygnatur metod i pól klasy, podmiana powinna przejść pomyślnie.

2. JDK zamiast JRE

Dzięki podpięciu pod Eclipsa JDK, mamy możliwość przeglądania kodu klas Javy, a nawet zakładania tam breakpointów.

W tym celu trzeba ustawić wartość zmiennej środowiskowej JRE_SRC na plik src.zip dostępny w instalacji JDK. Można zamiast tego w Window Preference Java Installed JREs dodać JDK i ustawić jako domyślne.

3. Pluginy

Findbugswykrywacz potencjalnych błędów w kodzie. Przeprowadza inteligentną analizę kodu, wykorzystując tzw. Bug Patterns, dzięki czemu wyłapują bardzo wiele przypadkowych błędów programisty. Polecam zainteresowanym wykład na temat tego narzędzia w formie video, wygłoszony przez jego twórcę.

Checkstyleplugin do sprawdzania jakości kodu.

Checkstyle jest narzędziem developerskim, które pomaga pisać kod Javy zgodny z pewnymi regułami. Automatyzuje procedurę sprawdzania kodu wyręczając ludzi w tym nudnym zajęciu. Checkstyle jest w pełni konfigurowalne i pozwala na dostosowanie do sprawdzania zgodności z niemal dowolnymi stylami kodowania.

Można go uruchamiać ręcznie lub automatycznie. Automatyczne uruchamianie włącza się przez Project Properties Checkstyle Checkstyle active for this project.

Ctrl Alt F – automatyczna naprawa wszystkich błędów zgłaszanych przez Checkstyle

JUtils – generator toString() oraz konstruktora kopiującego.

PMD scans Java source code and looks for potential problems like:

  • Possible bugs – empty try/catch/finally/switch statements
  • Dead code – unused local variables, parameters and private methods
  • Suboptimal code – wasteful String/StringBuffer usage
  • Overcomplicated expressions – unnecessary if statements, for loops that could be while loops
  • Duplicate code – copied/pasted code means copied/pasted bugs

4. Na zakończenie…

Ctrl Shift W – close all editor Windows

5. Bibliografia

Help Tips and tricks… › Eclipse Java Development Tools

http://rayfd.wordpress.com/2007/05/20/10-eclipse-navigation-shortcuts-every-java-programmer-should-know/

http://www.linuxdevices.com/articles/AT6046208714.html

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *