Debugowanie programów

W tej sekcji użytkownik przeprowadzi debugowanie programu Java.

  1. W widoku Eksplorator pakietów w perspektywie Java kliknij dwukrotnie plik junit.samples.VectorTest.java, aby otworzyć go w edytorze.
  2. Umieść kursor na linijce pionowej przy lewej krawędzi edytora na wysokości następującego wiersza metody setUp():

    fFull.addElement (new Integer(1));

    i kliknij dwukrotnie linijkę, aby ustawić punkt zatrzymania.

    Edytor z plikiem VectorTest.java i dodanym punktem zatrzymania

    Ikona punktu zatrzymania wskazuje na jego status.  Zwykła, niebieska ikona wskazuje, że punkt zatrzymania został ustawiony, ale nie jest jeszcze zainstalowany.  

    Uwaga: Po załadowaniu klasy przez maszynę VM Java punkt zatrzymania zostanie zainstalowany, a na jego ikonie zostanie wyświetlona nakładka ze znacznikiem wyboru.

  3. W widoku Eksplorator pakietów wybierz pakiet junit.samples i wybierz opcję Debuguj jako, a następnie opcję Aplikacja Java.   Podczas uruchamiania programu z pakietu zostanie wyświetlona zachęta do wybrania spośród wszystkich klas typu, w którym zdefiniowana jest metoda main
  4. Wybierz w tym oknie dialogowym pozycję VectorTest, a następnie kliknij przycisk OK.

    Okno dialogowe wyboru typu

  5. Program zostanie wykonany do punktu zatrzymania.  Po osiągnięciu punktu zatrzymania wykonywanie jest zawieszane i wyświetlane jest pytanie o otwarcie perspektywy Debugowanie. Kliknij przycisk Tak.Zauważ, że proces w widoku Debugowanie pozostaje nadal aktywny (niezakończony). Mogą być w dalszym ciągu wykonywane inne wątki.

    Perspektywa Debugowanie

    Uwaga: Punkt zatrzymania ma teraz nakładkę ze znacznikiem wyboru, ponieważ klasa VectorTest została załadowana w maszynie VM Java.
  6. W edytorze perspektywy Debugowanie wybierz element new Vector() z wiersza powyżej ustawionego punktu zatrzymania, a z jego menu kontekstowego wybierz opcję Kontroluj.

    Edytor z plikiem VectorTest.java zawierający menu kontekstowe wiersza wybranego punktu zatrzymania

  7. Wyrażenie zostanie poddane wartościowaniu w kontekście bieżącej ramki stosu i pojawi się okno wywoływane z wynikiem. Wynik można przesłać do widoku Wyrażenia - w tym celu należy nacisnąć kombinację klawiszy wyświetloną w oknie wywoływanym.
  8. W widoku tym zostaną wyświetlone wyrażenia wartościowane podczas debugowania programu. Aby usunąć wyrażenie po zakończeniu pracy, zaznacz je i wybierz opcję Usuń z menu kontekstowego.
  9. W widoku Zmienne (dostępnym na karcie obok widoku Wyrażenia) wyświetlane są wartości zmiennych w wybranej ramce stosu. Rozwijaj drzewo this.fFull w widoku zmiennych aż do wyświetlenia zmiennej elementCount.
  10. Zmienne (np. elementCount) w widoku Zmienne zmieniają się w miarę krokowego przechodzenia przez klasę VectorTest w widoku debugowania. Aby wykonać program krokowo, kliknij przycisk Krokowo bez zagłębiania (Krokowo bez zagłębiania).   Wykonanie będzie kontynuowane w kolejnym wierszu w tej samej metodzie (lub w metodzie, z poziomu której wywołano bieżącą metodę, jeśli zostanie osiągnięty jej koniec).

    Widok Zmienne

  11. Wypróbuj działanie innych przycisków krokowego wykonywania kodu (Krokowo z zagłębianiem Krokowo z zagłębianiem, Wykonaj do instrukcji powrotu Wykonaj do instrukcji powrotu).  Zwróć uwagę na różnice między poszczególnymi technikami.
  12. Sesję debugowania można zakończyć, zezwalając na wykonanie programu do końca lub przerywając go.

Pojęcia pokrewne
Punkty zatrzymania
Debugowanie zdalne
Debugowanie lokalne

Czynności pokrewne
Dodawanie punktów zatrzymania
Wznawianie wykonywania zawieszonych wątków
Wykonywanie i debugowanie
Zawieszanie wątków

Informacje pokrewne
Preferencje debugowania
Widok Debugowanie
Akcje Wykonaj i Debuguj
Widok Punkty zatrzymania
Widok Konsola
Widok Wyświetlanie
Widok Wyrażenia
Widok Zmienne