1. Fehler

Programmierer haben ihren eigenen Slang, obwohl viele ihn für Fachjargon halten. Auf jeden Fall kommt man nicht umhin, es kennenzulernen. Sie müssen ins Detail eintauchen. Also lasst uns eintauchen.

Eines der ersten Wörter, die Sie kennenlernen werden, ist „ Bug “, also ein Insekt . Im Kontext der Softwareentwicklung bedeutet dieses Wort einen Fehler in einem Programm, eine Instanz des Programms, die etwas falsch oder nicht ganz richtig macht. Oder einfach seltsam arbeiten.

Aber wenn ein Programmierer denkt, dass das Programm trotz seines seltsamen Verhaltens genau das tut, was es soll, dann erklärt er oder sie normalerweise etwas wie „Es ist kein Fehler, es ist eine Funktion“. Was eine Reihe von Internet-Memes hervorgebracht hat.

Generell kann ein Softwarefehler viele Ursachen haben: von Fehlern in der Programmlogik über Tippfehler und falsche Programmarchitektur bis hin zu Problemen im Compiler. In jedem Fall müssen Programmierer sowohl echte Fehler als auch alle anderen „Mängel“ in ihren Programmen beheben.

Die Geschichte des Wortes „Bug“

Die häufigste Version des Ursprungs des Wortes „Käfer“ ist so etwas wie eine Legende.

Im September 1945 testeten Wissenschaftler der Harvard University einen der ersten Computer, den Mark II. Der Computer funktionierte nicht richtig und bei der Überprüfung aller Platinen entdeckten sie eine Motte, die zwischen den Kontakten eines elektromechanischen Relais steckte.

Das extrahierte Insekt wurde in ein technisches Protokoll geklebt, zusammen mit der Aufschrift: „Erster tatsächlicher Fall eines gefundenen Käfers.“

Es wird angenommen, dass diese lustige Geschichte den Beginn der Verwendung des Wortes „ Bug “ zur Bezeichnung eines Fehlers darstellt und das Wort „ Debug “ zum Synonym für die Beseitigung von Fehlern geworden ist.


2. Debuggen des Programms

Um Fehler in ihren Programmen zu beheben, verwenden Programmierer spezielle Programme, sogenannte Debugger . Einige dieser Programme wissen sogar, wie man Maschinencode debuggt.

Java-Programmierer verwenden IDEs zum Debuggen ihrer Programme. Wie IntelliJ IDEA, Eclipse und NetBeans. IntelliJ IDEA ist mit Abstand die leistungsstärkste IDE, daher werden wir den Debugging-Prozess anhand dieses Beispiels durchgehen.

IntelliJ IDEA kann Ihr Programm in zwei Modi ausführen:

Ausführungsmodi Symbolleistensymbol Hotkeys
Normale Ausführung Shift+F10
Starten Sie im Debug-Modus Shift+F9

Mit der normalen Ausführung sind Sie bereits vertraut: Das Programm wird gestartet, ausgeführt und beendet. Aber der Debug-Modus hält viele Überraschungen für Sie bereit.

Debug-Modus

Im Debug-Modus können Sie Ihr gesamtes Programm Schritt für Schritt durchgehen . Genauer gesagt können Sie damit Zeile für Zeile vorgehen . Darüber hinaus können Sie die Werte der Variablen bei jedem Schritt des Programms beobachten (nachdem jede Codezeile ausgeführt wurde). Und Sie können sogar ihre Werte ändern!

Um auch nur ein minimales Verständnis für das Debuggen eines Programms zu erlangen, müssen Sie drei Dinge lernen:

  • Haltepunkte
  • Schrittweise Ausführung
  • Überprüfen des Wertes von Variablen

3. Haltepunkte

Mit der IDE können Sie spezielle Markierungen, sogenannte Haltepunkte, in Ihrem Code platzieren. Jedes Mal, wenn ein im Debug-Modus ausgeführtes Programm eine mit einem Haltepunkt markierte Zeile erreicht , wird die Ausführung angehalten.

Um einen Haltepunkt in einer bestimmten Zeile zu setzen, müssen Sie in IDEA nur links neben die Zeile klicken. Beispiel:

Haltepunkte IntelliJ IDEA

Die Zeile wird mit einem Haltepunkt markiert und IntelliJ IDEA hebt sie rot hervor :

mit einem Haltepunkt markiert

Ein zweiter Mausklick auf den Bereich links vom Code entfernt den Haltepunkt .

Ein Haltepunkt kann auch einfach mit der Hotkey-Kombination Ctrl+ in der aktuellen Zeile platziert werden F8. Durch erneutes Drücken Ctrlvon + F8in einer Zeile, die bereits über einen Haltepunkt verfügt , wird dieser gelöscht.


4. Starten Sie das Programm im Debug-Modus

Wenn Sie mindestens einen Haltepunkt in Ihrem Programm haben, können Sie das Programm im Debug-Modus ausführen, indem Sie Shift+ drücken F9oder auf das „Bug-Symbol“ klicken.

Nach dem Start im Debug-Modus läuft das Programm wie gewohnt. Sobald es jedoch eine mit einem Haltepunkt markierte Codezeile erreicht , wird es angehalten. Beispiel:

Starten Sie das Programm im Debug-Modus

In der oberen Hälfte des Screenshots sehen Sie Programmcode mit zwei Haltepunkten. Die Ausführung des Programms wurde in Zeile 5 gestoppt, die mit einer blauen Linie markiert ist. Zeile 5 wurde noch nicht ausgeführt: Es wurde noch nichts an die Konsole ausgegeben.

In der unteren Hälfte des Bildschirms sehen Sie die Debug-Bereiche: den Debugger -Bereich, den Konsolenbereich  und eine Reihe von Schaltflächen für den Debug-Modus.

Sie können die Pause Ihres Programms aufheben (d. h. mit der Ausführung fortfahren), indem Sie unten links auf die Schaltfläche „Programm fortsetzen“ klicken (oder drücken F9).

Starten Sie das Programm im Debug-Modus 3

Wenn Sie diese Schaltfläche (oder F9) drücken, läuft das Programm weiter, bis es den nächsten Haltepunkt erreicht oder endet. Folgendes sehen wir, nachdem wir auf die Schaltfläche geklickt haben:

Starten Sie das Programm im Debug-Modus 4

Das Programm stoppte am zweiten Haltepunkt und die Wörter Hellound andsind in der Konsole zu sehen. Dies ist ein Zeichen dafür, dass wir nur zwei der drei Zeilen ausgeführt haben, die die Ausgabe auf dem Bildschirm anzeigen.


5. Schritt-für-Schritt-Ausführung

Wenn Ihr Programm im Debug-Modus läuft, können Sie es auch schrittweise durchlaufen: Ein Schritt ist eine Zeile . Es gibt zwei Hotkeys für die schrittweise Ausführung: F7und F8: jeweils bewirkt die Ausführung der aktuellen Codezeile. Aber zuerst müssen Sie Ihr Programm noch mit einem Haltepunkt stoppen .

Wenn Sie Ihr Programm Zeile für Zeile ausführen möchten, müssen Sie einen Haltepunkt am Anfang der main()Methode setzen und sie im Debug-Modus ausführen.

Wenn das Programm stoppt, können Sie mit der zeilenweisen Ausführung beginnen. Ein Tastendruck F8führt eine Zeile aus.

So sieht unser Programm aus, nachdem es gestoppt wurde und wir die F8Taste einmal drücken:

Starten Sie das Programm im Debug-Modus.  Schrittweise Ausführung

Die erste Zeile der Hauptmethode wurde bereits ausgeführt und die aktuelle Zeile ist die zweite Zeile. Sie können auch unten im Screenshot sehen, dass das Wort Hellobereits auf dem Bildschirm angezeigt wird.


6. Schrittweise Ausführung mit Einstieg in die Methoden

Wenn Sie Ihre eigenen Methoden in das Programm geschrieben haben und die Ausführung innerhalb Ihrer Methoden im Debug-Modus erfolgen soll, Sie also „in die Methode einsteigen“ möchten, müssen Sie anstelle von F7drücken F8.

Nehmen wir an, Sie durchlaufen das Programm und bleiben nun bei Zeile 4 stehen. Wenn Sie drücken F8, führt IDEA einfach die vierte Zeile aus und fährt mit der fünften fort.

Schritt-für-Schritt-Ausführung mit Einstieg in Methoden 2

Wenn Sie jedoch drücken F7, greift IDEA auf die folgende main2()Methode zu:

Schritt-für-Schritt-Ausführung mit Schritt-für-Schritt-Anleitung 3

Es ist sehr einfach. Wenn es Ihnen egal ist, was in einer Methode passiert oder wie, dann drücken Sie F8. Wenn es wichtig ist, drücken Sie F7und gehen Sie den gesamten Code durch.