Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ebben a cikkben megtudhatja, hogyan végezhet hatékonyabb hibakeresést GitHub Copilot használatával. Copilot a kódjavítások részletes elemzésével és a kód működésével kapcsolatos magyarázatokkal is szolgálnak. Segít a hibák javasolt javításában, és elmagyarázza az olyan dolgokat, mint a kivételek. Copilot ismeri a hívásvermeket, a kereteket, a változóneveket és az értékeket. Ennek eredményeképpen a hibakeresővel tisztában lévő mesterséges intelligenciával együttműködve részletes kérdéseket tehet fel a kóddal és általában a hibakeresési problémákkal kapcsolatban.
Emellett a Copilot pontosabb segítséget nyújt bizonyos célzott forgatókönyvekhez, például a Kivételekhez, valamint a AI által bővített hibakeresési forgatókönyvekhez. A legtöbb ilyen forgatókönyvben keresse meg a Ask Copilot
vagy Elemezze a Copilot segítségével gombot. Ezekben a forgatókönyvekben Copilot már ismeri a kérdések kontextusát.
A Visual Studio-ban található GitHub Copilot kiegészítésekről a GitHub Copilot kiegészítések a Visual Studio-ban című részben talál további információt.
Előfeltételek
Az első lépésekhez a következőkre van szüksége:
Visual Studio 2022 version 17.8 vagy újabb verzió
Jelentkezzen be a Visual Studio fiókba GitHub fiók használatávalCopilot hozzáféréssel
** A GitHub Copilot ingyenesen használható. Regisztráljon, és használja ki az AI-t a gyorsabb és hatékonyabb kódoláshoz.Jegyzet
Ha a bővítmény telepítése után hitelesítési problémákat tapasztal, tekintse meg A GitHub Copilot Chat hitelesítési problémáit.
AI-továbbfejlesztett forgatókönyvek
Copilot ismeri a hívásvermeket, a kereteket, a változóneveket és az értékeket. Ennek eredményeképpen a hibakeresővel tisztában lévő mesterséges intelligenciával együttműködve részletes kérdéseket tehet fel a kóddal és általában a hibakeresési problémákkal kapcsolatban.
Emellett Copilot pontosabb segítséget nyújt bizonyos célzott forgatókönyvekhez, például az alábbi táblázatban ismertetettekhez.
| Funkció vagy forgatókönyv | Hivatkozás |
|---|---|
| Hibakereső ügynök | Lásd ebben a cikkben a Hibakereső ügynök segítségével történő Agentic hibafeloldást. Végpontok közötti ügynöki munkafolyamat, amely reprodukálja a hibákat, rögzíti az alkalmazást, és élő futtatókörnyezeti adatokkal ellenőrzi a javításokat. |
| Hívásveremelemzés | Lásd: A hívásverem elemzése a Copilot segítségével. Egykattintásos elemzést kaphat a szál működéséről, beleértve az aszinkron folyamat magyarázatait is. |
| Kivételek | Tekintse meg a Copilot segítségével történő kivétel hibakeresését ebben a cikkben. A kivételekkel kapcsolatos súgó tartalmazza a holtpont észlelési hibáival kapcsolatos súgót. |
| Változók | Lásd: AI-segítség kérése. |
| LINQ-lekérdezéselemzés | Vigye az egérmutatót a LINQ-lekérdezések fölé, miközben hibakeresést végzett a kódszerkesztőben a visszatérési érték megtekintéséhez. Válassza az "Elemzés a Copilottal" gombot AI támogatásért. Lásd: LINQ-lekérdezések visszatérési értékeinek megtekintése. |
| Adattippek | Tekintse meg az AI-segítséget az adattippekkel kapcsolatban. |
| Feltételes töréspontok és nyomkövetési pontok | Lásd ebben a cikkben a javaslatok megtekintése feltételes töréspontokkal és nyomkövetési pontokkal részt. |
| Gyorsműveletek (villanykörte) | Lásd: Kérjen AI-segítséget a gyorsműveletekhez. |
| IEnumerable táblázatos vizualizáció | Lásd: AI-segítség kérése. |
| Automatikus észlelés és formázás a Szövegábrázolóban | Lásd: Automatikus észlelés és formázás. A Copilot automatikusan azonosítja a kódolt vagy tömörített sztringeket, és egyetlen kattintással dekódolja őket. |
| Sorba illesztett visszaadott értékek | Lásd: Metódushívások visszatérési értékeinek megtekintése. |
| Beágyazott értékek | Lásd Beágyazott értékek megtekintése. |
| Többszálas hibakeresés | Lásd: AI-segítség kérése a Szálak nézethez. |
| Egységtesztelés | Lásd: AI-segítség kérése a tesztek hibakereséséhez |
| Kivételek vizsgálata adattárkörnyezettel | Lásd: AI-segítség kérése adattárkörnyezettel |
| Töréspontok hibaelhárítása | Lásd: AI-segítség kérése. |
| Funkció vagy forgatókönyv | Hivatkozás |
|---|---|
| Hívásveremelemzés | Lásd: A hívásverem elemzése a Copilot segítségével. Egykattintásos elemzést kaphat a szál működéséről, beleértve az aszinkron folyamat magyarázatait is. |
| Kivételek | Tekintse meg a Copilot segítségével történő kivétel hibakeresését ebben a cikkben. A kivételekkel kapcsolatos súgó tartalmazza a holtpont észlelési hibáival kapcsolatos súgót. |
| Változók | Lásd: AI-segítség kérése. |
| LINQ-lekérdezéselemzés | Vigye az egérmutatót a LINQ-lekérdezések fölé, miközben hibakeresést végzett a kódszerkesztőben a visszatérési érték megtekintéséhez. Válassza az "Elemzés a Copilottal" gombot AI támogatásért. Lásd: LINQ-lekérdezések visszatérési értékeinek megtekintése. |
| Adattippek | Tekintse meg az AI-segítséget az adattippekkel kapcsolatban. |
| Feltételes töréspontok és nyomkövetési pontok | Lásd ebben a cikkben a javaslatok megtekintése feltételes töréspontokkal és nyomkövetési pontokkal részt. |
| Gyorsműveletek (villanykörte) | Lásd: Kérjen AI-segítséget a gyorsműveletekhez. |
| IEnumerable táblázatos vizualizáció | Lásd: AI-segítség kérése. |
| Sorba illesztett visszaadott értékek | Lásd: Metódushívások visszatérési értékeinek megtekintése. |
| Beágyazott értékek | Lásd Beágyazott értékek megtekintése. |
| Többszálas hibakeresés | Lásd: AI-segítség kérése a Szálak nézethez. |
| Egységtesztelés | Lásd: AI-segítség kérése a tesztek hibakereséséhez |
| Kivételek vizsgálata adattárkörnyezettel | Lásd: AI-segítség kérése adattárkörnyezettel |
| Töréspontok hibaelhárítása | Lásd: AI-segítség kérése. |
A legtöbb ilyen esetben célzott segítséget kaphat a Ask Copilot
vagy az Analyze with Copilot gombbal. Copilot már ismeri a kérdések kontextusát. Ismeri például az aktuális hívási vermet, a kért kódsort és a kivétel nevét (ha történt), így nem kell saját kontextust megadnia a csevegésben. Copilot a feltételes töréspontok és nyomkövetési pontok használatára vonatkozó javaslatokat is tartalmaz.
Hibakeresés Copilot használatával
Az alábbi egyszerű példa bemutatja, hogyan kérhet AI-segítséget a beágyazott csevegési nézettel.
Jegyzet
A View > GitHub Copilot Chat kiválasztásával a különálló csevegőablakban is kérhet segítséget. További információ: Mi a GitHub Copilot Chat bővítmény a Visual Studio?.
Hibakeresési munkamenet indítása
A Visual Studio hozzon létre egy új C#-konzolalkalmazást.
A kezdési ablakban válassza az Új projekt létrehozásalehetőséget. Írja be a console kifejezést a keresőmezőbe, válassza a C# nyelvet, majd válassza a Console App lehetőséget .NET. Válassza a Következőlehetőséget. Írjon be egy projektnevet, például ConsoleApp_Copilot, és válassza Következőlehetőséget.
Válassza ki a javasolt cél keretrendszert vagy .NET 10-et, majd válassza a Create lehetőséget.
Ha nem látja a Console App .NET projektsablonját, lépjen a Tools>Get Tools and Features lapra, amely megnyitja a Visual Studio Telepítőt. Válassza ki az .NET asztali fejlesztés számítási feladatot, majd válassza a Modify lehetőséget.
Visual Studio hozza létre a konzolprojektet, amely a jobb oldali panelen Solution Explorer jelenik meg.
Cserélje le a Program.cs kódját a következő kódra:
using System; using System.Collections.Generic; public class Example { public static void Main(string[] args) { int value = Int32.Parse(args[0]); List<String> names = null; if (value > 0) names = new List<String>(); names.Add("Major Major Major"); } }Kattintson a jobb gombbal a következő utasításra, és válassza a Töréspont>Töréspont beszúrásalehetőséget.
int value = Int32.Parse(args[0]);Nyomja le F5, vagy válassza Hibakeresés indítása lehetőséget a Hibakeresés menüből.
Az alkalmazás szünetel a töréspontnál. Az Autos ablak azt mutatja, hogy az args változó értéke
string[0].
- Kattintson a jobb gombbal a kódra, és válassza a Csevegés lehetőséget a beágyazott Csevegés nézet megnyitásához.
- Kattintson a jobb gombbal a kódra, és válassza a Ask Copilot lehetőséget a beágyazott csevegési nézet megnyitásához.
Tipp
Másik lehetőségként kattintson a jobb gombbal egy változóra az Automatikus vagy helyi beállítások ablakban, vagy egy adattippben, és válassza a Ask Copilot lehetőséget. A Copilot a változó nevét és a kontextust biztosítja, ezért nem kell önnek a kontextust önállóan megadnia a csevegésben.
Írja be a következő kérdést a beágyazott csevegési nézetben:
Why does the args variable have a value of string[0]?
A Enter lenyomásakor Copilot a kód ismerete alapján választ ad. (Előfordulhat, hogy az itt láthatótól eltérő választ kap.)
Ha a Copilotnak van javasolt javítása a kódhoz, azt megjeleníti. Amennyiben nem, kérhet a Copilottól egy kód javaslatot.
Tipp
A beágyazott csevegésben használja a "#" szimbólumot, és válassza ki a legördülő listából a kívánt információt, hogy átadja azt a Copilotnak, miközben a kérdésben hivatkozik rá. Ha például kiválaszt egy részt a kódból, és ezután beírja a # jelet, akkor ezt a kijelölést kiválaszthatja a # legördülő listából. A "#" szimbólummal hivatkozhat a legördülő listában megjelenő IDE-funkciókra, például a Helyiek ablakra.
Ebben a példában görgessen a Copilot válasz végéhez, és válassza ki a következő kérdést a beágyazott csevegés ablakának végén: "Hogyan kezelhetem az esetet, ha nem adnak át argumentumokat a programnak?"
Copilot a kód javasolt javítását jeleníti meg.
Ha alkalmazni szeretné a kódjavítást, válassza a Tab lehetőséget.
Válassza a Alt+Törlés lehetőséget, hogy a következő szakaszban megismerhessük a Copilot egyéb funkcióit.
A Enter lenyomásakor Copilot a kód ismerete alapján választ ad. (Előfordulhat, hogy az itt láthatótól eltérő választ kap.)
Ha a Copilotnak van javasolt javítása a kódhoz, azt megjeleníti. Amennyiben nem, kérhet a Copilottól egy kód javaslatot.
Tipp
A beágyazott csevegésben használja a "#" szimbólumot, és válassza ki a legördülő listából a kívánt információt, hogy átadja azt a Copilotnak, miközben a kérdésben hivatkozik rá. Ha például kiválaszt egy részt a kódból, és ezután beírja a # jelet, akkor ezt a kijelölést kiválaszthatja a # legördülő listából. A "#" szimbólummal hivatkozhat a legördülő listában megjelenő IDE-funkciókra, például a Helyiek ablakra.
Ebben a példában görgessen a Copilot válasz végéhez, és válassza ki a következő kérdést a beágyazott csevegés ablakának végén: "Hogyan kezelhetem az esetet, ha nem adnak át argumentumokat a programnak?"
Copilot a kód javasolt javítását jeleníti meg.
Ha alkalmazni szeretné a kódjavítást, válassza az Elfogadáslehetőséget.
Válassza a Cancel lehetőséget, hogy a következő szakaszban megismerhessük a Copilot egyéb funkcióit.
Copilot kivétel hibakeresése
Az alábbi egyszerű példa bemutatja, hogyan kérhet AI-segítséget, ha kivételt tapasztal, és hogyan frissítheti a kódot az AI által javasolt javítások alapján.
Hibakeresési munkamenet indítása
Szüneteltetéskor a hibakeresőben ugyanazzal a mintaalkalmazással nyomja meg az F11 vagy a Hibakeresés>Lépés bele gombot az aktuális utasítás végrehajtásához.
Egy
IndexOutOfRangeExceptiontörténik, és az alkalmazás szünetel, megjelenítve a kivételt.Ha AI-segítséget szeretne kérni a kivételhez, folytassa a következő szakaszsal.
AI-segítség kérése
Miután az alkalmazás megállt a kivételnél, válassza az Analyze with Copilot gombot.
Az Ask Copilot gomb képernyőképe egy kivételben.
Ha még nincs megnyitva, megjelenik a Copilot Chat ablak, amely kiértékeli a hibát és annak okát. Ebben a példában Copilot azonosítja a javasolt kódjavítást, a kód másolására szolgáló gombot, valamint egy Preview gombot a kódjavításhoz.
Ha kérdése van a kivétellel kapcsolatban, kérdezze meg őket a Ask Copilot szövegmezőben.
A Copilot csevegőablakban mondja meg Copilot, hogy meg szeretné akadályozni a hibát.
Amikor Copilot javasol javítást a csevegőablakban, válassza a Apply lehetőséget.
Tekintse át a javasolt javítást, és válassza a Tab billentyűt a kódjavaslat alkalmazásához.
Indítsa újra a hibakeresőt.
Ezúttal nem történik kivétel. Kijavítottuk!
Ha az alkalmazás szüneteltetve van a kivételen, válassza a Ask Copilot gombot.
Az Ask Copilot gomb képernyőképe egy kivételben.
Ha még nincs megnyitva, megjelenik a Copilot Chat ablak, amely kiértékeli a hibát és annak okát. Ebben a példában Copilot azonosítja a javasolt kódjavítást, a kód másolására szolgáló gombot, valamint egy Preview gombot a kódjavításhoz.
Ha kérdése van a kivétellel kapcsolatban, kérdezze meg őket a Ask Copilot szövegmezőben.
Válassza a Előnézet gombot.
Visual Studio a javasolt javítást tartalmazó kód előnézetét jeleníti meg.
Tekintse át a javasolt javítást, és válassza az Elfogadás lehetőséget a kódjavaslat alkalmazásához.
Indítsa újra a hibakeresőt.
Ezúttal nem történik kivétel. Kijavítottuk!
Ügynöki hibafeloldás a Hibakereső ügynökkel
A Hibakereső ügynök egy végpontok közötti automatikus munkafolyamatot biztosít, amely statikus elemzés helyett a hibákat a valós futásidejű viselkedés alapján ellenőrzi. A felhasználói élmény végigvezeti egy teljes cikluson: a probléma megértésén és reprodukálásán, az alkalmazás műszerezésén, a kiváltó ok elkülönítésén és a javítás élő futtatással való ellenőrzésén.
Az GitHub vagy a Azure DevOps problémáiból kiindulva vagy a hiba természetes nyelven írható le. A Hibakereső ügynök leképozza a problémát a helyi forráskódra, és végigvezeti a megoldáson. A hibakeresési folyamat során kommunikálhat az ügynökkel, hogy több bemenetet biztosítson, megbeszélje az elméletét, vagy valós időben pontosítsa a javítást.
A Hibakereső ügynök használata:
- Nyissa meg a Copilot Chat ablakot (View > GitHub Copilot Chat).
- Válassza a Hibakereső lehetőséget a csevegőablak bal alsó sarkában található mód legördülő menüből.
- Adjon meg egy GitHub vagy Azure DevOps problémahivatkozást, vagy írja le a hibát természetes nyelven.
A Hibakereső ügynök a következő lépéseken keresztül működik:
- Környezetinjektálás – Összekapcsolja a problémát vagy a hiba leírását a helyi forráskóddal.
- Autonóm reprodukáló – Elemzi a hibát, és ha a reprodukciós lépések hiányoznak, minimális forgatókönyvet hoz létre a hiba aktiválásához.
- Hipotézis és instrumentálás – Hibahipotéziseket generál, és nyomkövetési pontokkal és feltételes töréspontokkal instrumentálja az alkalmazást, hogy a futásidejű állapotot rögzítse.
- Futtatókörnyezet ellenőrzése – Futtatja a hibakeresési munkamenetet, és elemzi az élő telemetriát a kiváltó ok elkülönítése érdekében.
- Célzott javítás – Pontos javítást javasol a pontos meghibásodási ponton a széles körű újrabontás helyett.
- Végleges emberi ellenőrzés – Újrafuttathatja a forgatókönyvet, és megerősítheti a javítást az ügynökkel együtt az élő környezetben.
Amikor Ügynök módban cseveg, a csevegőbemenetben a @debugger használatával átválthat a Hibakereső ügynökre is. A Debugger ügynökről és más beépített ügynökökről további információkért tekintse meg a GitHub Copilot beépített és egyéni ügynökeinek használata című részt.
Javaslatok lekérése feltételes töréspontok és nyomkövetési pontok használatával
Copilot javaslatokat ad feltételes töréspontokra és nyomkövetési pontokra, amelyek a kódodhoz kapcsolódnak.
Ebben a példában a feltételes töréspontra vonatkozó AI-javaslatokat mutatunk be. A nyomkövetési pontok esetében az AI-támogatás ugyanúgy működik.
Az aktuális töréspont eltávolításához kattintson rá, vagy kattintson rá a jobb gombbal, és válassza a Töréspont törléselehetőséget.
Cserélje le a következő kódsort:
names.Add("Major Major Major");a következővel:
// names.Add("Major Major Major"); foreach (var item in args) { names.Add("Name: " + item); }A(z)
names.Add("Name: " + item)utasítástól balra kattintson a jobb gombbal a margóra, és válassza a(z) Feltételes töréspont beszúrásalehetőséget.Jelölje ki a kifejezésmezőt, és Copilot elkezd dolgozni a javaslatokon.
Amikor megjelennek a javaslatok, válasszon egyet, például
item == "Test". Módosítsa a javaslatot, hogy a névFredlegyen.
Amikor megjelennek a javaslatok, válasszon egyet, például
item == "John". Módosítsa a javaslatot, hogy a névFredlegyen.
A feltételes kifejezés tesztelése:
Kattintson a jobb gombbal a ConsoleApp_Copilot projektre Solution Explorer, és válassza a Properties lehetőséget.
Válassza a Hibakeresés>Általános>Hibakeresési indítási profilok kezelőfelületének megnyitásalehetőséget.
A parancssori argumentumok mezőben adja meg a
5 Fred Joe, három külön sorban.
Indítsa újra a hibakeresőt.
Amikor a hibakereső szünetel a töréspontnál, ellenőrizze a
itemértékét, és ellenőrizze, hogy az aktuális értékFred-e.