Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Felsökningsagenten är en AI-baserad felsökningsassistent som fungerar via GitHub Copilot Chat och hjälper dig att reproducera, isolera och åtgärda buggar genom att styra körningen och verifiera resultatet mot programmets aktuella tillstånd vid körning. Agenten är mest kraftfull när du ger den ett tydligt mål och låter den hantera felsökning av arbetsflödet från slutpunkt till slutpunkt.
Felsökningsagenten utmärker sig i scenarier där du måste bevisa att det finns ett fel, kontrollera att en korrigering fungerar, instrumentkod med brytpunkter och spårningspunkter och analysera komplexa anropsstackar. Genom att kombinera begäranden om naturligt språk med felsökningskontroll kan du gå igenom arbetsflöden för reproducer-instrument-isolate-fix effektivare än enbart manuell felsökning.
Så här kommer du åt felsökningsagenten
Öppna fönstret Copilot Chat (Visa>GitHub Copilot Chat).
Välj Felsökare i lägesrullgardinsmenyn i det nedre vänstra hörnet av chattfönstret, eller skriv
@debuggeri chattinmatningen när du är i Agent-läge.Ange en prompt som beskriver din felsökningsuppgift och ersätt platshållartexten med de specifika uppgifterna för ditt scenario.
Reproducering och diagnos av buggar
Felsökningsagenten kan återskapa buggar från problembeskrivningar och bekräfta att de finns i din körningsmiljö. Börja med att peka agenten på en felbeskrivning, GitHub problemlänk eller Azure DevOps bugg och låt den köra hela loopen.
Exempel på frågor:
Investigate/fix/debug the bug described in <issue link>. Reproduce the failure, find the root cause with the debugger, and propose a fix.
When I <do these steps>, I expect <expected result> but instead I see <actual result>. Debug the problem, find where the code goes wrong, and suggest a fix.
Create a minimal repro for the following issue, then run it under the debugger to confirm the failure and show me the runtime state that causes it: <bug description>.
Åtgärda verifiering och validering
När du har en korrigering, oavsett om den har skapats av agenten eller av dig, ska du använda Debugger Agent för att verifiera att korrigeringen löser problemet och att alla viktiga kodvägar testas.
Exempel på frågor:
Ge agenten ett fristående sätt att bevisa att korrigeringen fungerar, till exempel med ett enhetstest eller ett litet reproducerbart exempel i konsolen, och låt den sedan verifiera ett specifikt beteende vid körning.
Set breakpoints at <specific locations>, debug, and verify that <variable> has the value <expected value> and that <behavior> happens as expected.
I'm working on a change to make my code handle <new feature>. As part of that, I broke the following scenario: <repro steps>. Debug the problem and find where my code went wrong. Here are my changes: <paste diff here>
Instrumentation och körningsinspektion
Felsökningsagenten kan ange villkorsstyrda brytpunkter och spårningspunkter exakt där du behöver dem och sedan köra projektet för att samla in de data du behöver. Den här metoden ger dig mer synlighet utan att redigera koden manuellt.
Exempel på frågor:
Set a breakpoint at the start of ProcessFile that breaks only when the file name starts with "data12345", then launch my project.
I need more visibility into <area of code>. Add tracepoints that log <the values you care about> at the key points in this flow, then run my project and show me the trace output.
Anropsstackanalys och kontrollflöde
När körningen är pausad vid en brytpunkt eller ett undantag och du behöver förstå exekveringsflödet kan Debugger Agent analysera anropsstacken och förklara vad den aktuella tråden gör, inklusive asynkrona flöden.
Exempel på frågor:
Analyze the current call stack and explain what this thread is doing and how it got here, including the async flow. Point out the frame most likely responsible for <the problem>.
Why is my code taking the wrong branch and not reaching <this line>? Set a breakpoint there and run the app. If it isn't hit, set breakpoints at the upstream decision points and inspect the actual condition values to find where control flow diverges.
Tip
Du kan också få analys av anropsstacken med ett klick: i fönstret Samtalsstack väljer du Analysera med Copilot eller använder Analysera med Copilot i vyn Parallella / för flertrådade scenarier.
Felsökning av enhetstester
Felsökningsagenten kan felsöka misslyckade tester direkt från chatten utan att du behöver starta felsökningsprogrammet först.
Exempelprompt:
The test <TestName> is failing. Debug it, find the root cause of the failure, and suggest a fix.
Tip
Du kan också börja felsöka ett misslyckat test från Test Explorer eller CodeLens-indikatorn ovanför testet i redigeraren och sedan fortsätta konversationen med felsökningsagenten därifrån. Det här är ett enkelt sätt att lämna över det misslyckade testets kontext till Copilot.
Metodtips för felsökningsagenten
Ange data, inte kommandon. Felsökningsagenten har inte gränssnitts- eller PowerShell-åtkomst, så den kan inte köra verktyg som
git.exeåt dig. Klistra i stället in de faktiska utdata. Klistra till exempel in texten i ett diff i stället för att be agenten att köra ett diff-kommando.Låt agenten styra körningen när den instrumenterar kod. Copilot kan korrigera fel i villkorliga brytpunkter och spårpunkter endast när den styr körningen. Föredra ”ange en villkorlig brytpunkt ... och köra mitt projekt” framför ”ange en villkorlig brytpunkt” i sig.
Låt agenten avslutas när den övergår till pausläge. Om agenten styr körningen och chatten fortfarande visar att Copilot arbetar, behöver du inte göra något. Om du vill ta tillbaka kontrollen väljer du stoppknappen i chatten.