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:
Die Zeile wird mit einem Haltepunkt markiert und IntelliJ IDEA hebt sie rot hervor :
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 Ctrl
von + F8
in 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 F9
oder 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:
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
).
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:
Das Programm stoppte am zweiten Haltepunkt und die Wörter Hello
und and
sind 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: F7
und 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 F8
führt eine Zeile aus.
So sieht unser Programm aus, nachdem es gestoppt wurde und wir die F8
Taste einmal drücken:
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 Hello
bereits 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 F7
drü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.
Wenn Sie jedoch drücken F7
, greift IDEA auf die folgende main2()
Methode zu:
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 F7
und gehen Sie den gesamten Code durch.
GO TO FULL VERSION