Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Debugger | Arbeiten mit der IDE
Java OOP

bookDebugger

Was ist ein Debugger?

Ein Debugger ist ein Werkzeug, das beim Schritt-für-Schritt-Durchlauf des Codes unterstützt. Damit kann die Ausführung des Codes an einer bestimmten Stelle angehalten und der Debugging-Modus gestartet werden, um zu überprüfen, wie der Code funktioniert. Hierfür muss ein Marker (Breakpoint) an der Zeile gesetzt werden, an der die Ausführung pausieren soll.

Es gibt einen Code, der die Summe der Zahlen von eins bis zehn (einschließlich) berechnen soll. Das Ergebnis sollte 55 sein, aber tatsächlich erhalten wir als Antwort 45. Setzen wir einen Breakpoint am Anfang der Schleife, um zu verstehen, warum das Ergebnis nicht stimmt. Dazu muss mit der linken Maustaste auf die Zeilennummer geklickt werden, woraufhin dort ein roter Marker erscheint.

Hier ist der Code aus dem Screenshot, zur besseren Lesbarkeit und Klarheit überarbeitet:

Main.java

Main.java

copy
12345678910111213
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 verfügbar sind.

  • 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 eingestiegen werden. In unserem Beispiel gibt es keine Methode, aber falls vorhanden, könnte man in diese hineinsteigen und den Ablauf verfolgen;

  • 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 unteren Fenster oder neben den Variablen sichtbar. Der Wert der Variablen result ist deutlich zu erkennen, der anfangs null beträgt.

Durchlaufen des Codes

Zum Durchlaufen 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 wird diese Variable auf null gesetzt.

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 wurde. 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 -> das wurde auf dem Bildschirm angezeigt.

Überspringen wir die Iterationen, in denen die anderen Zahlen auf die Konsole ausgegeben werden, und gehen wir zum Ende. Hier erkennen wir den Hauptfehler in unserer Schleife. Wir müssen die Summe der Zahlen von 0 bis einschließlich 10 ausgeben, 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, müssen wir die Bedingung auf i <= 10 ändern. Dann erhalten wir das korrekte Ergebnis.

Im Wesentlichen haben wir wiederholt die Schaltfläche "Step Over" gedrückt, was uns zur Erkenntnis des Fehlers in der Schleife und zur anschließenden Korrektur geführt hat.

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 Schaltfläche "Step Over" im Debugger?

question mark

Was ist der Hauptzweck eines Debuggers?

Select the correct answer

question mark

Was ermöglicht ein Haltepunkt (Breakpoint) im Debugger?

Select the correct answer

question mark

Was bewirkt die Schaltfläche "Step Over" im Debugger?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5

Fragen Sie AI

expand

Fragen Sie AI

ChatGPT

Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen

Awesome!

Completion rate improved to 4.76

bookDebugger

Swipe um das Menü anzuzeigen

Was ist ein Debugger?

Ein Debugger ist ein Werkzeug, das beim Schritt-für-Schritt-Durchlauf des Codes unterstützt. Damit kann die Ausführung des Codes an einer bestimmten Stelle angehalten und der Debugging-Modus gestartet werden, um zu überprüfen, wie der Code funktioniert. Hierfür muss ein Marker (Breakpoint) an der Zeile gesetzt werden, an der die Ausführung pausieren soll.

Es gibt einen Code, der die Summe der Zahlen von eins bis zehn (einschließlich) berechnen soll. Das Ergebnis sollte 55 sein, aber tatsächlich erhalten wir als Antwort 45. Setzen wir einen Breakpoint am Anfang der Schleife, um zu verstehen, warum das Ergebnis nicht stimmt. Dazu muss mit der linken Maustaste auf die Zeilennummer geklickt werden, woraufhin dort ein roter Marker erscheint.

Hier ist der Code aus dem Screenshot, zur besseren Lesbarkeit und Klarheit überarbeitet:

Main.java

Main.java

copy
12345678910111213
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 verfügbar sind.

  • 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 eingestiegen werden. In unserem Beispiel gibt es keine Methode, aber falls vorhanden, könnte man in diese hineinsteigen und den Ablauf verfolgen;

  • 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 unteren Fenster oder neben den Variablen sichtbar. Der Wert der Variablen result ist deutlich zu erkennen, der anfangs null beträgt.

Durchlaufen des Codes

Zum Durchlaufen 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 wird diese Variable auf null gesetzt.

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 wurde. 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 -> das wurde auf dem Bildschirm angezeigt.

Überspringen wir die Iterationen, in denen die anderen Zahlen auf die Konsole ausgegeben werden, und gehen wir zum Ende. Hier erkennen wir den Hauptfehler in unserer Schleife. Wir müssen die Summe der Zahlen von 0 bis einschließlich 10 ausgeben, 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, müssen wir die Bedingung auf i <= 10 ändern. Dann erhalten wir das korrekte Ergebnis.

Im Wesentlichen haben wir wiederholt die Schaltfläche "Step Over" gedrückt, was uns zur Erkenntnis des Fehlers in der Schleife und zur anschließenden Korrektur geführt hat.

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 Schaltfläche "Step Over" im Debugger?

question mark

Was ist der Hauptzweck eines Debuggers?

Select the correct answer

question mark

Was ermöglicht ein Haltepunkt (Breakpoint) im Debugger?

Select the correct answer

question mark

Was bewirkt die Schaltfläche "Step Over" im Debugger?

Select the correct answer

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 1. Kapitel 5
some-alt