Java-Code debuggen mit IntelliJ
Der Debugger ist eines der mächtigsten Werkzeuge in der Hand eines/einer ProgrammiererIn - lerne den IntelliJ-Debugger kennen!Tags: Debuggen | IntelliJ | Java | Java lernen | Programmieren lernen | VariablenWorum geht´s?
Hast du dich schonmal gefragt, warum man einen Schreibtischtest nicht irgendwie automatisieren kann und nicht alles selber auf einen Zettel schreiben muss? Weil… nah, muss man eigentlich gar nicht. IntelliJ kann genau das für dich machen. Und sogar das Programm jederzeit stoppen und dir sagen, was da passiert, Zeile für Zeile. Das ganze nennt sich Debugger – eines der wichtigsten Werkzeuge beim Programmieren überhaupt.
1. Was ist ein Debugger?
Ein Debugger ist üblicherweise in eine IDE (Entwicklungsumgebung) eingebautes Werkzeug, mit dem du dein Programm an bestimmten Stellen anhalten kannst. Damit kannst du herausfinden, welche Werte deine Variablen an dieser Stelle haben, oder auch wohin im Code dein Programm als nächstes geht (nützlich z.B. bei Schleifen und Verzweigungen).
Das Ganze heißt deswegen „Debugger“, weil Fehler in Computerprogrammen früher, als Computer noch so groß wie ganze Räume waren, tatsächlich oft von Insekten ausgelöst wurden, die zufällig durch irgendwelche Schaltkreise gekrabbelt sind. Ein gegrillter Käfer auf einer Schaltplatine kann so ein Programm ganz schön durcheinanderbringen. Wurde der Käfer entfernt (de-bug, „bug“ heißt Käfer auf Englisch), funktionierte das Programm oft wieder.
Will man heute als ProgrammiererIn den „Käfer“ (bug) entfernen, muss man ihn oft erst mal finden. Und dabei hilft eben der Debugger.
2. Wie du in IntelliJ erfolgreich debuggen kannst
Als erstes brauchst du fürs erfolgreiche Debuggen in IntelliJ einen sogenannten „Breakpoint“. Das ist ein Hinweis für IntelliJ, dass das Programm hier angehalten werden soll, falls du im Debug-Modus bist.
2.1 Einen Breakpoint anlegen
Einen solchen Breakpoint legst du an, wenn du zwischen Programm-Code und Zeilen-Nummer mit der linken Maustaste klickst. Dann sollte ein roter Punkt erscheinen:
Klickst du erneut auf den roten Punkt, verschwindet er wieder.
Wir wollen ihn aber erstmal behalten.
An dieser Stelle stoppt nun das Programm, falls wir es im Debug-Modus starten.
2.2 Den Debugger starten
Du startest den Debug-Modus, wenn du statt auf „Run“ (den grünen Pfeil) auf „Debug“ (den grünen Käfer) klickst.
(Möglicherweise wirst du dabei noch gefragt, ob Daten gesendet werden sollen – such dir das für dich passende aus.)
Dann sollte das Programm ganz normal durchlaufen, bis es deinen Breakpoint erreicht, und dort stoppen. Du solltest in etwa das hier sehen:
Die Zeile, in der gestoppt wurde, ist blau markiert. Die für diese Zeile wichtigen Variablen stehen rechts daneben, mit ihren jeweiligen Werten.
Unten hast du eine Liste der aktuell deklarierten Variablen mit ihren jeweiligen Werten zu diesem Zeitpunkt.
(Möglicherweise kannst du die Konsole nicht unter den Variablen sehen. Dann kannst du links unten zwischen Konsole/Ausgabe und den Variablen umschalten. Willst du beides auf einmal sehen, dann zieh eines davon so lange mit der Maus herum, bis beide untereinander sichtbar werden.)
Nun hast du verschiedene Möglichkeiten, hier die wichtigsten:
- Das Programm bis zum nächsten Breakpoint fortführen (F9). Falls kein Breakpoint mehr kommt, dann läuft das Programm bis zum Ende durch.
- Das Programm zeilenweise weiter durchgehen (F8)
- In eine Methode „reingehen“ (F7), um genau nachzuforschen, was da drin passiert
Auf diese Weise kannst du sehr genau nachverfolgen, was dein Programm macht, und warum, und um einiges einfacher auch Logik-Fehler finden, die dir IntellIj nicht einfach automatisch als Fehler erkennt und rot anzeigt.
Viel Freude mit deinem neuen Werkzeug!