Kursinhalt
Java Oop
Java Oop
Debugger
Was ist ein Debugger?
Ein Debugger ist ein Werkzeug, das dabei hilft, Schritt für Schritt durch den Code zu gehen. Wir können die Ausführung des Codes an einem bestimmten Punkt anhalten und den Debugging-Modus starten, um zu sehen, wie unser Code funktioniert. Dafür müssen wir eine Markierung (Breakpoint) auf der Zeile setzen, an der wir anhalten möchten.
Wir haben einen Code, der die Summe der Zahlen von eins bis zehn (einschließlich) berechnen soll. Das Ergebnis sollte 55
sein, aber wir erhalten als Antwort 45
. Lassen Sie uns einen Breakpoint am Anfang der Schleife setzen, um zu verstehen, warum das Ergebnis nicht stimmt. Dazu klicken Sie mit der linken Maustaste auf die Zeilennummer, und dort erscheint eine rote Markierung.
Hier ist der Code aus dem Screenshot, zur besseren Lesbarkeit und Klarheit umgeschrieben:
Main.java
package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int result = 0; for(int i = 0; i < 10; i++) { result += 1; System.out.println(result); } } }
Werkzeuge im Debug-Modus
Ein kurzer Überblick darüber, wie mit dem Debugger gearbeitet wird und welche Werkzeuge darin zur Verfügung stehen.
-
Step Over: Mit dieser Schaltfläche kann die Codeausführung zeilenweise fortgesetzt werden. Beim Drücken führt der Debugger die aktuelle Zeile aus, springt zur nächsten und hält dort erneut an;
-
Step Into: Mit dieser Schaltfläche kann in die Ausführung einer Methode eingetreten werden. In unserem Beispiel gibt es keine Methode, aber falls eine vorhanden wäre, könnten wir in diese hineinschauen und sehen, was dort passiert;
-
Step Out: Diese Schaltfläche ist das Gegenteil der vorherigen. Sie ermöglicht das Verlassen der Ausführung einer Methode oder Schleife;
-
Die Werte der Variablen sind im Fenster unten oder neben den Variablen sichtbar. Der Wert der Variablen
result
ist deutlich zu erkennen und beträgt anfangs null.
Durch den Code iterieren
Zum Iterieren klicken wir auf die Schaltfläche "Step Over". Wir betreten die for
-Schleife, und der Wert der Variablen i
erscheint, die innerhalb der for
-Schleife erstellt wurde. Anfangs setzen wir diese Variable auf null.
Anschließend klicken wir mehrmals auf "Step Over", um eine Iteration abzuschließen, und wechseln zur Konsole, um zu prüfen, ob etwas auf dem Bildschirm ausgegeben wird. Es ist zu sehen, dass die Variable i
um 1
erhöht wurde und "0" auf dem Bildschirm angezeigt wurde, da sowohl die Variable result
als auch die Variable i
anfangs auf null gesetzt waren. 0 + 0 = 0
-> dies wurde auf dem Bildschirm angezeigt.
Wir überspringen die weiteren Iterationen der Ausgabe der anderen Zahlen auf der Konsole und gehen zum Ende. Hier ist der Hauptfehler in unserer Schleife zu erkennen. Es soll die Summe der Zahlen von 0 bis einschließlich 10 ausgegeben werden, aber 10 wurde nicht einbezogen. Daher sehen wir, dass i = 9
ist und beim Erhöhen auf 10
die Schleife verlassen wird, da 10 !< 10
(10 ist nicht kleiner als 10).
Um dieses Problem zu lösen, muss die Bedingung auf i <= 10
geändert werden. Dann erhalten wir das korrekte Ergebnis.
Im Wesentlichen haben wir mehrmals die Schaltfläche "Step Over" gedrückt, wodurch wir den Fehler in der Schleife erkannt und anschließend korrigiert haben.
Hinweis
Ich habe nur die grundlegenden Debugger-Werkzeuge gezeigt. Um zu lernen, wie man sie verwendet, sollten Sie selbst damit üben. Sie können ein ähnliches Programm schreiben und eigenständig sehen, wie alles funktioniert. Der Debugger ist ein sehr nützliches Werkzeug, da er hilft, Fehler und Bugs im Code zu bearbeiten.
1. Was ist der Hauptzweck eines Debuggers?
2. Was ermöglicht ein Haltepunkt (Breakpoint) im Debugger?
3. Was bewirkt die Debugger-Schaltfläche "Step Over"?
Danke für Ihr Feedback!