Skip to main content

Lernen zum Debuggen mit GitHub Copilot

Identifizieren und Beheben von Fehlern in Ihrem Code durch Bitten um GitHub Copilot Hilfe.

Das Finden und Beheben von Fehlern im Code kann frustrierend sein, besonders wenn man ein neuer Entwickler ist. Glücklicherweise können Tools wie GitHub Copilot schnell Erkennen und Bugs von Bugs erkennen, sodass Sie sich auf kreativere, interessante Arbeiten konzentrieren können.

Voraussetzungen

In den Beispielen in diesem Artikel wird davon ausgegangen, dass Sie GitHub Copilot ein Python Projekt in Visual Studio Code (VS Code) debuggen. Um den Beispielen zu folgen, benötigen Sie Folgendes:

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 Copilot können Sie Ihren Code in beiden Situationen debuggen. 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, können wir um Hilfe bitten Copilot .

Teste dies mit einem Beispielrepository: new2code/debug-with-copilot.

Klonen des Beispielrepositorys

Zunächst müssen wir eine lokale Kopie des Repositorys erstellen:

  1. Beginnen Sie mit dem Klonen des neuen2code/debug-with-copilot Repositorys in VS Code.
  2. Wähle einen Speicherort aus, um das Repository auf deinem Computer zu speichern, und klicke dann auf Select as Repository Destination.
  3. Öffne das Repository, wenn du dazu aufgefordert wirst.

fehlerhafte Datei ausführen

Führe jetzt die Datei bugged_dice_battle.py aus. Dieses Programm simuliert ein Würfelspiel zwischen zwei Personen.

  1. Öffnen VS CodeUnd überprüfen Sie die bugged_dice_battle.py Datei.

  2. Öffnen Sie die Befehlspalette, indem Sie Ctrl+Shift+P (Windows) drücken/Linux) oder Cmd+Shift+P (Mac).

  3. Geben Sie Terminal: Create New Terminal ein, und drücken Sie die EINGABETASTE.

  4. Füge auf der Registerkarte „Terminal“ den folgenden Befehl ein.

    Windows:

    Shell
    py bugged_dice_battle.py
    

    Mac oder Linux:

    Shell
    python bugged_dice_battle.py
    
  5. Drücke die EINGABETASTE, um das Programm auszuführen.

Leider wird im Terminal ein Fehlertext angezeigt, der mit der folgenden Meldung endet:

TypeError: kann nur str (nicht "int") zu str verketten

Debuggen der Datei

Um zu verstehen, was dieser Fehler bedeutet, öffnen Copilot-ChatVS CodeSie ihn, fügen Sie dann die folgende Eingabeaufforderung ein, und senden Sie sie:

Text
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, da wir versuchen, die ganzen Zahlen die_1 und die_2 Zeichenfolgen zu verketten, und Sie können Zeichenfolgen nur mit Zeichenfolgen verketten.

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. Üben Sie den letzten Schritt des Debuggens, indem Sie den Vorschlag auf die Datei anwenden Copilot.

Debuggen einer falschen Ausgabe mit GitHub Copilot

Manchmal wird fehlerhafter Code ausgeführt, ohne Fehlermeldung auszugeben, während die Ausgabe eindeutig falsch ist. In diesem Fall kann das Debuggen schwieriger sein, da VS Code Sie nicht den Speicherort oder die Beschreibung des Fehlers angeben können.

Für diese "unsichtbaren" Fehler Copilot ist 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 Factorial berechnen soll.

fehlerhafte Datei ausführen

Führe zunächst das Programm aus, um das fehlerhafte Ergebnis zu sehen.

  1. Öffne und überprüfe die Datei bugged_factorial_finder.py.

  2. Füge im zuvor erstellten Terminal den folgenden Befehl ein. Windows:

    Shell
    py bugged_factorial_finder.py
    

    Mac oder Linux:

    Shell
    python bugged_factorial_finder.py
    
  3. 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, öffnen Copilot-Chat Sie die folgende Eingabeaufforderung, und senden Sie die folgende Eingabeaufforderung:

Text
Why is the output of this code so much higher than expected? Please explain in depth and suggest a solution.

Copilotweist darauf hin, dass wir, da wir den *= Operator verwenden, tatsächlich mit beiden i multiplizierenfactorial.factorial Anders ausgedrückt: Du multiplizierst zusätzlich mit factorial für jede Iteration der Schleife.

Um diesen Fehler zu beheben, schlägt Code vor, Copilot der das Zusätzliche factorial aus der Formel entfernt oder der *= Operator in =. Nimm jetzt diese Änderung vor!

Debuggen deines eigenen Projekts

Nachdem Sie nun das Debuggen einiger einfacher Programme praktiziert Copilothaben, können Sie dieselben Methoden verwenden, um Fehler zu finden und zu beheben, die in Ihrer eigenen Arbeit verborgen sind.

Um beispielsweise eine fehlermeldung zu debuggen, die von Ihrem Code generiert wird, senden Sie Copilot die folgende Eingabeaufforderung:

Text
Explain in depth why my code produces the following error and how I can fix it:

YOUR-ERROR-MESSAGE

Wenn Sie eine falsche Ausgabe debuggen, fragen Copilot Sie andernfalls, warum die Ausgabe falsch ist und wie Sie sie beheben können. 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 potenzieller Probleme und Beispielaufforderungen Copilot-Chat zum Beheben dieser Probleme finden Sie unter Debuggen von Fehlern.