Fouten in programma's opsporen

In dit gedeelte leert u fouten in een Java-programma op te sporen.

  1. Dubbelklik in de Pakketverkenner van het perspectief Java op junit.samples.VectorTest.java om dit item te openen in een editor.
  2. Plaats de cursor op de verticale liniaal aan de linkerkant van het editorgebied op de volgende regel in de methode setUp():

    fFull.addElement (new Integer(1));.

    Dubbelklik op de liniaal om een onderbrekingspunt in te stellen.

    VectorTest.java editor met toegevoegd onderbrekingspunt

    Het pictogram van het onderbrekingspunt geeft de status ervan aan. Een normaal blauw pictogram geeft aan dat het onderbrekingspunt is ingesteld, maar nog niet is aangebracht.  

    Opmerking: Als de klasse eenmaal door de Java-VM is geladen, wordt het onderbrekingspunt geïnstalleerd en wordt het pictogram van het onderbrekingspunt afgebeeld met een vinkje.

  3. Selecteer in de view Pakketverkenner het pakket junit.samples en kies Fouten opsporen als gevolgd door Java-toepassing. Wanneer u een programma vanuit een pakket uitvoert, wordt u gevraagd om een type te kiezen uit alle klassen in het pakket met de methode main
  4. Selecteer het item VectorTest in het dialoogvenster en klik vervolgens op OK.

    Dialoogvenster voor selecteren
van type

    Opmerking: U kunt ook op de knop Fouten opsporen Fouten opsporen klikken om de geselecteerde resource of actieve editor te starten. Selecteer Java-toepassing zodra u wordt gevraagd een manier te kiezen om fouten op te sporen in VectorTest.

    Manier selecteren om fouten op te sporen
in VectorTest

  5. Het programma wordt uitgevoerd totdat het onderbrekingspunt is bereikt. Vervolgens wordt de verwerking onderbroken en wordt u gevraagd of u het perspectief Fouten opsporen wilt openen. Klik op Ja. Het proces is echter nog steeds actief (niet beëindigd) in de view Fouten opsporen. Andere threads kunnen intussen gewoon worden uitgevoerd.

    Perspectief Fouten opsporen

    Opmerking: Het onderbrekingspunt wordt nu afgebeeld met een vinkje Onderbrekingspunt met overlay omdat de klasse VectorTest in de Java-VM is geladen.
  6. Selecteer new Vector() vanaf de regel boven het ingestelde onderbrekingspunt in het perspectief Fouten opsporen van de editor en kies vervolgens Inspecteren in het contextmenu.

    VectorTest.java editor met contextmenu van regel met geselecteerde onderbrekingspunt

  7. De expressie wordt geëvalueerd in de context van het huidige stackframe, en er verschijnt een voorgrondvenster met de resultaten. U kunt een resultaat naar de view Expressies overbrengen door op de toetsenkoppeling te drukken die in dit venster wordt weergegeven.
  8. Expressies die u evalueert tijdens het opsporen van fouten in een programma, worden in deze view weergegeven. Als u een expressie wilt verwijderen nadat u ermee hebt gewerkt, selecteert u de expressie en kiest u Verwijderen in het contextmenu.
  9. In de view Variabelen (beschikbaar op een tabblad naast de view Expressies) worden de waarden van de variabelen in het geselecteerde stackframe weergegeven. Vouw de structuur this.fFull in de view Variabelen uit totdat u elementCount ziet.
  10. De variabelen (zoals elementCount) in de view Variabelen veranderen wanneer u VectorTest doorloopt in de view Fouten opsporen. Om de code stapsgewijs te doorlopen, klikt u op Stap over (Stap over).  De verwerking wordt voortgezet op de volgende regel in dezelfde methode of, als het einde van de methode is bereikt, in de methode waarvandaan de huidige methode is aangeroepen.

    View Variabelen

  11. In de view Variabelen kunt u bepaalde typen als logische structuren afbeelden. Hierbij worden de implementatiegegevens van een type verborgen en wordt het als array of veld afgebeeld. U kunt zelf logische structuren definiëren op de voorkeurenpagina Java > Fouten opsporen > Logische structuren.

    fFull afgebeeld
als logische structuur

  12. Experimenteer ook eens met de andere stapknoppen (zoals Stap in Stap in en Stap uit Stap uit) om de code te doorlopen. Let op de verschillen in staptechnieken.
  13. U kunt een foutopsporingssessie beëindigen door het programma tot het einde toe uit te voeren (te voltooien) of door het programma te beëindigen.

Verwante concepten
Onderbrekingspunten
Fouten opsporen op afstand
Lokaal fouten opsporen

Verwante taken
Onderbrekingspunten toevoegen
De verwerking van onderbroken threads hervatten
Uitvoeren en fouten opsporen
Threads onderbreken

Verwante onderwerpen
Voorkeurenpagina Fouten opsporen
View Fouten opsporen
Menu Uitvoeren
Werkbalkacties Uitvoeren en Fouten opsporen
View Onderbrekingspunten
View Console
View Weergeven
View Expressies
View Variabelen