Das Suchen und Beheben von Fehlern im Code kann frustrierend sein, insbesondere als Entwickelnde mit wenig Erfahrung. Glücklicherweise können Tools wie GitHub Copilot Fehler schnell identifizieren und squashen, sodass du dich auf kreativere, interessantere Arbeit konzentrieren kannst.
Voraussetzungen
In den Beispielen in diesem Artikel wird davon ausgegangen, dass du GitHub Copilot zum Debuggen eines Python-Projekts in Visual Studio Code (VS Code) verwendest. Für die Beispiele ist Folgendes erforderlich:
- Abschließen des Schritts Einrichten von Visual Studio Code mit Copilot in der Visual Studio Code-Dokumentation.
- Herunterladen von Python
- Installieren der Python-Erweiterung für Visual Studio Code
Lernfortschritte beim Debuggen durch Beispiele
Es gibt zwei Hauptszenarios, wenn du versuchst, Code mit Fehlern auszuführen:
- Dein Code wird beendet, bevor die Ausführung beendet wird, und du erhältst eine Fehlermeldung.
- Dein Code wird ohne Fehler ausgeführt, aber die Ausgabe unterscheidet sich von dem, was du erwartet hast.
Glücklicherweise kann Copilot in beiden Fällen beim Debuggen von Code helfen. Nutze die folgenden Beispiele, um zu erfahren, wie dies funktioniert.
Debuggen eines Fehlers mit GitHub Copilot
Wenn du Code mit Fehlern ausführst, wird häufig eine Fehlermeldung angezeigt. Die Meldung informiert dich über die Datei und Zeile, in der der Fehler aufgetreten ist. Zudem wird kurz beschrieben, was nicht funktioniert hat. Fehlermeldungen können jedoch verwirrend sein. Um den Fehler vollständig zu verstehen und zu beheben, kannst du Copilot um Hilfe bitten.
Teste dies mit einem Beispielrepository: new2code/debug-with-copilot
.
Klonen des Beispielrepositorys
Zunächst müssen wir eine lokale Kopie des Repositorys erstellen:
- Beginne mit dem Klonen des Repositorys new2code/debug-with-copilot in VS Code.
- Wähle einen Speicherort aus, um das Repository auf deinem Computer zu speichern, und klicke dann auf Select as Repository Destination.
- Öffne das Repository, wenn du dazu aufgefordert wirst.
Ausführen der Datei mit Fehlern
Führe jetzt die Datei bugged_dice_battle.py
aus. Dieses Programm simuliert ein Würfelspiel zwischen zwei Personen.
-
Öffne in VS Code die Datei
bugged_dice_battle.py
und überprüfe sie. -
Öffne die Befehlspalette, indem du STRG+UMSCHALT+P (Windows/Linux) oder BEFEHL+UMSCHALT+P (Mac) drückst.
-
Geben Sie
Terminal: Create New Terminal
ein, und drücken Sie die EINGABETASTE. -
Füge auf der Registerkarte „Terminal“ den folgenden Befehl ein.
Windows:
Shell py bugged_dice_battle.py
py bugged_dice_battle.py
Mac oder Linux:
Shell python bugged_dice_battle.py
python bugged_dice_battle.py
-
Drücke die EINGABETASTE, um das Programm auszuführen.
Leider wird im Terminal ein Fehlertext angezeigt, der mit der folgenden Meldung endet:
TypeError: can only concatenate str (not "int") to str
Debuggen der Datei
Um zu verstehen, was dieser Fehler bedeutet, drücke STRG+ALT+I (Windows/Linux) oder BEFEHL+UMSCHALT+I (Mac), um Copilot Chat zu öffnen. Füge dann den folgenden Prompt ein, und übermittle ihn:
Explain in depth why my code produces the following error and how I can fix it: TypeError: can only concatenate str (not "int") to str
Explain in depth why my code produces the following error and how I can fix it:
TypeError: can only concatenate str (not "int") to str
Copilot antwortet, dass der Fehler auftritt, weil du versuchst, die Integer die_1
und die_2
mit Zeichenfolgen zu verketten, obwohl nur die Verkettung von Zeichenfolgen mit Zeichenfolgen möglich ist.
Anschließend wird ebenfalls eine aktualisierte Version des Codes bereitgestellt, in der der Fehler behoben wird, indem die str()
-Funktion zum Konvertieren der Integer in Zeichenfolgen vor der Verkettung verwendet wird. Übe den letzten Schritt des Debuggens, indem du den Vorschlag von Copilot auf die Datei anwendest.
Debuggen einer falschen Ausgabe mit GitHub Copilot
Manchmal wird Code mit Fehlern ausgeführt, ohne Fehler auszulösen, während die Ausgabe eindeutig falsch ist. In diesem Fall kann das Debuggen schwieriger sein, da VS Code dir nicht die Stelle des Fehlers nennen oder eine Fehlerbeschreibung bereitstellen kann.
Für diese „unsichtbaren“ Fehler ist Copilot besonders nützlich. Lass uns einige praktische Erfahrungen mit der anderen Datei in unserem Beispielrepository sammeln: bugged_factorial_finder.py
. Es ist ein Python-Programm, das eine Fakultät berechnen soll.
Ausführen der Datei mit Fehlern
Führe zunächst das Programm aus, um die falsche Ausgabe anzuzeigen:
-
Öffne und überprüfe die Datei
bugged_factorial_finder.py
. -
Füge im zuvor erstellten Terminal den folgenden Befehl ein. Windows:
Shell py bugged_factorial_finder.py
py bugged_factorial_finder.py
Mac oder Linux:
Shell python bugged_factorial_finder.py
python bugged_factorial_finder.py
-
Drücke die EINGABETASTE, um das Programm auszuführen.
Leider funktioniert der Code nicht wie erwartet. Der Code soll 720
zurückgeben (richtiger Wert für die Fakultät von 6), aber die Ausgabe ist viel höher.
Debuggen der Datei
Um zu verstehen, was nicht geklappt hat, öffne Copilot Chat. Sende dann folgenden Prompt:
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.
Copilot weist darauf hin, dass du aufgrund der Verwendung des *=
-Operators tatsächlich factorial
mit i
und factorial
multipliziert hast. Anders ausgedrückt: Du multiplizierst zusätzlich mit factorial
für jede Iteration der Schleife.
Um diesen Fehler zu beheben, schlägt Copilot Code vor, in dem das zusätzliche factorial
-Element aus der Formel entfernt wird bzw. in dem der *=
-Operator in =
geändert wird. Nimm jetzt diese Änderung vor!
Debuggen deines eigenen Projekts
Nachdem du jetzt das Debuggen einiger einfacher Programme mithilfe von Copilot trainiert hast, kannst du dieselben Methodiken verwenden, um Fehler in deiner eigenen Arbeit zu suchen und zu beheben.
Übermittle den folgenden Prompt an Copilot, um beispielsweise eine vom Code generierte Fehlermeldung zu debuggen:
Explain in depth why my code produces the following error and how I can fix it: YOUR-ERROR-MESSAGE
Explain in depth why my code produces the following error and how I can fix it:
YOUR-ERROR-MESSAGE
Wenn du eine falsche Ausgabe debuggst, kannst du Copilot fragen, warum die Ausgabe falsch ist und wie du diesen Fehler beheben kannst. Um optimale Ergebnisse zu erzielen, gib so viel Kontext wie möglich an, wie sich die Ausgabe von deinen Erwartungen unterscheidet.
Mit diesen Taktiken kannst du sofort damit beginnen, Fehler in deinem Projekt zu squashen.
Nächste Schritte
Beim weiteren Programmieren werden wahrscheinlich bestimmte Problemszenarios und Fehler auftreten, die schwer zu debuggen sind. Eine Liste der potenziellen Issues und Copilot Chat-Beispielprompts für die Behebung findest du unter Debuggen von Fehlern.