Es kann dabei helfen, Anwendungsfehler zu identifizieren und zu beheben. In diesem Artikel verwendet der Autor Eclipse, ein häufig verwendetes Entwicklungstool, um Java-Anwendungen zu debuggen. Die hier vorgestellten Debugging-Methoden sind jedoch grundsätzlich universell und auch auf die NetBeans-IDE anwendbar. Wir konzentrieren uns auf die Laufzeit.
Bevor Sie beginnen, empfehle ich Ihnen, den Artikel „Eclipse-Verknüpfungen“ zu lesen, der Ihnen viel Komfort bringen wird. In diesem Artikel wird die Eclipse Juno-Version (Eclipse 4.2) verwendet. Bevor ich anfange, möchte ich Ihnen drei Vorschläge machen!
Verwenden Sie System.out.println nicht als Debugging-Tool. Aktivieren Sie Protokollierungsstufen für alle beteiligten Komponenten und verwenden Sie einen Protokollanalysator zum Lesen der Protokolle.
1.Bedingter Haltepunkt
Wenn Sie nicht wissen, wie Sie einen Haltepunkt hinzufügen, klicken Sie einfach auf das linke Feld (vor der Zeilennummer) und der Haltepunkt wird erstellt. In der Debugging-Oberfläche werden in der Ansicht „Haltepunkte“ alle erstellten Haltepunkte aufgelistet. Wir können eine boolesche Bedingung hinzufügen, das heißt, der Haltepunkt wird aktiviert und wenn die boolesche Bedingung wahr ist, wird der Haltepunkt ausgeführt, andernfalls wird die Ausführung übersprungen.
2. Ausnahme-Haltepunkt
In der Haltepunktansicht gibt es eine J!-Markierungsschaltfläche! Mit dieser Schaltfläche können wir einen Java-Ausnahme-Haltepunkt hinzufügen. Wenn wir beispielsweise möchten, dass das Programm weiterhin debuggen kann, wenn es auf eine NullPointerException stößt, können wir mit dieser Schaltfläche einen Ausnahme-Haltepunkt hinzufügen!
3. Überwachungspunkte
Dies ist eine sehr nette Funktion, die die Programmausführung stoppt und das Debuggen ermöglicht, wenn auf eine ausgewählte Eigenschaft zugegriffen oder diese geändert wird. Wählen Sie in der Gliederungsansicht eine Klassenvariable aus und wählen Sie im Kontextmenü Watchpoint wechseln. Der Attribut-Watchpoint wird erstellt und alle Watchpoints werden in Form einer Liste in der Breakpoints-Ansicht angezeigt.
4. Beurteilung/Inspektion
Drücken Sie Strg+Umschalt+D oder Strg+Umschalt+I, um den Wert der ausgewählten Variablen oder des ausgewählten Ausdrucks anzuzeigen. Wir können einer Variablen oder einem Ausdruck auch permanente Watchpoints hinzufügen. Wenn das Programm debuggt wird, werden diese Watchpoints in der Ausdrucksansicht angezeigt.
5. Variablenwert ändern
Während des Debuggens können wir Variablenwerte ändern. Wählen Sie zunächst eine Variable aus, rufen Sie dann die Ansicht „Variablen“ auf und geben Sie den Wert entsprechend dem Variablentyp in die entsprechende Spalte „Wert“ ein.
6. Stoppen Sie die Ausführung in der Hauptfunktion
In den Ausführungs-/Debug-Einstellungen gibt es im Dialogfeld „Konfiguration bearbeiten“ die Registerkarte „Haupt“ und wir können das Kontrollkästchen „Im Hauptmenü stoppen“ aktivieren. Wenn diese Option ausgewählt ist, stoppt das Programm beim Debuggen eines Java-Programms basierend auf der Hauptmethode die Ausführung in der ersten Zeile der Hauptmethode.
7. Umgebungsvariablen
Anstatt Umgebungsvariablen in den Systemeigenschaften hinzuzufügen, können wir sie einfach im Dialogfeld „Konfiguration bearbeiten“ hinzufügen.
8.Drop to Frame
Dies ist auch eine meiner Lieblingsfunktionen. Während des Debuggens können Sie zum Anfang des Aufrufstapelrahmens zurückspringen und die Variablenwerte kehren zum Anfang zurück. Passen Sie die Tiefe des Stapels entsprechend dem Rollback an. Der Hauptzweck dieser Funktion besteht darin, den Status aller Variablen schnell in den Zustand zurückzusetzen, in dem die Methode ausgeführt wurde. Sie können sie dann immer wieder ausführen dass Sie bei Bedarf mehrmals debuggen können. Allerdings treten während des Ausführungsprozesses auch einige Nebenwirkungen auf. Beispielsweise können die in die Datenbank eingefügten Daten nicht gelöscht werden.
9. Verteilungsfilterung
Wenn wir die Methode (F5) eingeben, können wir auch auf ihre externe Bibliothek zugreifen (z. B. Java.*). Möglicherweise benötigen wir diese Bibliothek nicht, daher können wir der Registerkarte „Perferenz“ einen Filter hinzufügen, um dieses Paket auszuschließen.
10. Betreten, verlassen und zurückkehren
Ich belasse dies für den letzten Punkt. Dies sind die Dinge, die beim Debuggen verstanden (und vorzugsweise beherrscht) werden müssen:
F5 – Eingabetaste: Zum nächsten Schritt wechseln. Wenn in der aktuellen Zeile ein Methodenaufruf vorhanden ist, springt das Steuerelement zur Ausführung in die erste Zeile der aufgerufenen Methode.
F6 – Herausspringen: Zur nächsten Zeile wechseln. Wenn in der aktuellen Zeile ein Methodenaufruf vorhanden ist, wird dieser zur Ausführung direkt in die nächste Zeile verschoben. Der aufgerufene Methodenkörper wird nicht eingegeben.
F7 – Return: Aus der aktuellen Methode springen und Ausführung fortsetzen.
F8 – Zum nächsten Haltepunkt für die Ausführung wechseln.