Verwenden Sie Run Code / Run, wenn Sie Ihr Programm ausführen und die Ausgabe sehen möchten. Verwenden Sie Debug, wenn Sie an einer Zeile anhalten, Variablen inspizieren und herausfinden möchten, warum ein Ergebnis falsch ist. Debugging ist besonders nützlich, wenn Ihr Code ohne Fehler ausgeführt wird, aber ein unerwartetes Ergebnis liefert.

Dieser Leitfaden verwendet den CodeUtility Python-Executor und ein kleines Berechnungsbeispiel. Der Workflow mit Haltepunkten und Schrittweise Ausführung gilt auch für andere Executor, bei denen Debug verfügbar ist. Die Unterstützung und Steuerung zur Laufzeit kann variieren; verwenden Sie eine unterstützte Serverlaufzeit für dieses Python-Tutorial. Die Screenshots zeigen die englische Benutzeroberfläche.

1. Probieren Sie ein kleines Programm mit einem logischen Fehler aus

Öffnen Sie den Python-Executor, wählen Sie Python 3.11 im Versionsmenü und geben Sie die folgenden vier Zeilen ein. Ein Preis von 12 multipliziert mit einer Menge von 3 sollte 36 ergeben. Dieses Programm verwendet absichtlich Addition, sodass es 15 ergibt.

price = 12
quantity = 3
total = price + quantity
print(total)

2. Setzen Sie einen Haltepunkt, bevor Sie Debug starten

Klicken Sie in die linke Leiste neben Zeile 3, der Zeile mit total = price + quantity. Ein rotes Haltepunkt-Symbol erscheint. Ein Haltepunkt sagt dem Debugger, wo er anhalten soll. Klicken Sie erneut auf das Symbol, um es zu entfernen. Setzen Sie Haltepunkte auf ausführbare Anweisungen und nicht auf leere Zeilen oder Kommentare.

Ein roter Haltepunkt neben Zeile 3 markiert, wo die Ausführung pausieren soll.
Ein roter Haltepunkt neben Zeile 3 markiert, wo die Ausführung pausieren soll.

3. Starten Sie Debug und inspizieren Sie die Werte

Wählen Sie Debug in der Symbolleiste des Editors; fahren Sie mit der Maus über ein Symbol, um dessen Bezeichnung zu sehen. Warten Sie, bis das Debugger-Fenster Paused at line 3 meldet. Pausiert bedeutet, dass das Programm auf Ihre nächste Debugging-Aktion wartet.

Schauen Sie unter VARIABLES: price ist 12 und quantity ist 3. Zeile 3 wurde noch nicht ausgeführt, daher ist total nicht aufgeführt. Die hervorgehobene Zeile ist die nächste Anweisung, die ausgeführt werden soll. Der CALL STACK zeigt, wo die Ausführung derzeit pausiert.

Pausiert vor Zeile 3: Preis ist 12 und Menge ist 3; total wurde noch nicht zugewiesen.
Pausiert vor Zeile 3: Preis ist 12 und Menge ist 3; total wurde noch nicht zugewiesen.

4. Schrittweise durch die Berechnung gehen

Klicken Sie einmal auf Step Over. Die Ausführung wechselt zu Zeile 4, und total erscheint jetzt mit dem Wert 15. Dies zeigt, dass die falsche Antwort von der Addition der beiden Werte in Zeile 3 stammt.

Nach Step Over pausiert der Debugger in Zeile 4 und zeigt total = 15.
Nach Step Over pausiert der Debugger in Zeile 4 und zeigt total = 15.

Mit Continue wird die Ausführung fortgesetzt, bis ein weiterer Haltepunkt erreicht wird oder das Programm endet. Step Over führt die aktuelle Anweisung aus, ohne in eine aufgerufene Funktion einzutreten. Step Into tritt in eine aufgerufene Funktion ein, wenn dies unterstützt wird. Step Out führt aus, bis die aktuelle Funktion zurückkehrt. Stop, dargestellt durch ein quadratisches Symbol, beendet die Debugging-Sitzung.

5. Beheben Sie den Code und führen Sie ihn erneut aus

Wählen Sie Continue, um das Beispiel zu beenden, oder Stop, um die Sitzung zu beenden. Ersetzen Sie das Pluszeichen in Zeile 3 durch ein Multiplikationszeichen und wählen Sie dann Run Code / Run, um die Ausgabe zu überprüfen. Sie sollten 36 sehen. Sie können auch Debug erneut starten und Step Over verwenden, um den korrigierten Wert zu überprüfen.

price = 12
quantity = 3
total = price * quantity
print(total)

Wenn das Debugging nicht dort pausiert, wo Sie es erwarten

Überprüfen Sie, ob ein roter Haltepunkt gesetzt ist, bevor Sie Debug starten, dass Sie Debug ausgewählt haben und dass das Programm tatsächlich diese Zeile erreicht. Wählen Sie eine ausführbare Zeile und bestätigen Sie, dass die ausgewählte Laufzeit das Debugging unterstützt. Syntaxfehler können verhindern, dass die Ausführung einen Haltepunkt erreicht. Wenn Ihr Programm Eingaben anfordert, geben Sie diese im Terminal ein, damit die Ausführung fortgesetzt werden kann.

Für Ihre nächste Debugging-Sitzung setzen Sie einen Haltepunkt kurz vor der verdächtigen Berechnung, inspizieren Sie deren Eingaben und gehen Sie schrittweise vor, bis Sie den ersten unerwarteten Wert finden. Wenn Sie nur die endgültige Ausgabe benötigen, wählen Sie Run Code.