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.
Ez a cikk a Visual Studio által biztosított hibakereső eszközöket ismerteti. A Visual Studio környezetben, amikor hibakeresést végez az alkalmazáson, ez általában azt jelenti, hogy az alkalmazást a hibakereső csatolva futtatja (vagyis hibakereső módban). Ha ezt teszi, a hibakereső számos módot kínál arra, hogy lássa, mit csinál a kód a futtatás során. Végiglépkedhet a kódon, és megnézheti a változókban tárolt értékeket, beállíthatja a változókon lévő órákat, hogy lássa, mikor változnak az értékek, megvizsgálhatja a kód végrehajtási útvonalát stb. Ha még csak most ismerkedik a hibakereséssel, érdemes elolvasnia a hibakeresést abszolút kezdőknek , mielőtt áttekintené ezt a cikket. Ha egy adott feladatot próbál végrehajtani, és tudnia kell, hogy milyen funkciót kell használnia, olvassa el a Hibakereső funkciókeresőt. A mesterséges intelligenciával támogatott hibakeresés kipróbálásához lásd: Debug with Copilot.
Az itt ismertetett funkciók a C#, a C++, a Visual Basic, a JavaScript és a Visual Studio által támogatott egyéb nyelvekre vonatkoznak (kivéve a feljegyzett nyelveket).
Töréspont beállítása és a hibakereső indítása
A töréspontok akkor hasznosak, ha ismeri a kódsort vagy a kódnak azt a szakaszát, amelyet futásidőben részletesen meg szeretne vizsgálni. A töréspontok különböző típusairól, például a feltételes töréspontokról és a függvény töréspontjairól további információt a Töréspontok használatacímű témakörben talál.
A hibakereséshez el kell indítania az alkalmazást az alkalmazás folyamatához csatolt hibakeresővel. Ehhez tegye a következőt:
- Nyomja le F5 (Hibakeresés > Hibakeresés indítása) billentyűt, amely a leggyakoribb módszer.
Előfordulhat, hogy még nem rendelkezik olyan töréspontokkal, amelyek az alkalmazáskód vizsgálatához használhatók. A töréspontok beállítása után készen áll a hibakeresésre. A töréspontok a megbízható hibakeresés legalapvetőbb és leglényegesebb funkciói. A töréspont azt jelzi, hogy Visual Studio hol kell felfüggesztenie a futó kódot, hogy megtekinthesse a változók értékeit, a memória viselkedését, vagy azt, hogy a kód egy ága fut-e.
Ha meg van nyitva egy fájl a kódszerkesztőben, a kódsortól balra lévő margóra kattintva töréspontot állíthat be.
Nyomja meg az F5 (Hibakeresés indítása > Hibakeresés indítása) vagy a Hibakeresés indítása gombot a
a hibakeresési eszköztáron, és a hibakereső az első töréspontra fut, amellyel találkozik. Ha az alkalmazás még nem fut, az F5 elindítja a hibakeresőt, és az első töréspontnál leáll.
Élő kód szerkesztése
Visual Studio 2022 támogatja az élő kód szerkesztését hibakeresés közben. Részletes információkért lásd:
Navigálás a hibakeresőben lépésparancsokkal
A legtöbb parancshoz biztosítjuk a billentyűparancsokat, mert gyorsabban navigálnak az alkalmazáskódon. (Az egyenértékű parancsok, például a menüparancsok zárójelben jelennek meg.) A lépésparancsok használatáról további információt a Kódböngészés a hibakeresőbencímű részben talál.
Ha az alkalmazást a csatolt hibakeresővel szeretné elindítani, nyomja le F11 (Hibakeresés > Lépés aelemre). Az F11 a Step Into parancs, amely egyszerre egy utasítással irányítja előre az alkalmazás végrehajtását. Amikor az alkalmazást F11-zel indítja el, a hibakereső megszakítja az első utasítást, amelyet a rendszer végrehajt.
A sárga nyíl azt az utasítást jelöli, amelyen a hibakereső felfüggesztette az alkalmazást, amely szintén felfüggeszti az alkalmazás végrehajtását ugyanazon a ponton (ez az utasítás még nincs végrehajtva).
Az F11 jó módszer a végrehajtási folyamat legrészletesebb vizsgálatára. (A kódon keresztüli gyorsabb navigáláshoz más lehetőségeket is bemutatunk.) Alapértelmezés szerint a hibakereső átugorja a nemfelhasználói kódot (ha további részleteket szeretne, tekintse meg a Csak saját kód című témakört).
Jegyzet
A felügyelt kódban megjelenik egy párbeszédpanel, amely megkérdezi, hogy szeretne-e értesítést kapni a tulajdonságok és operátorok automatikus átlépésekor (alapértelmezett viselkedés). Ha később módosítani szeretné a beállítást, tiltsa le a Lépés a tulajdonságok és operátorok felett beállítást az Eszközök > beállításai panel Minden beállítás>hibakeresése>általános csoportjában.
Jegyzet
A felügyelt kódban megjelenik egy párbeszédpanel, amely megkérdezi, hogy szeretne-e értesítést kapni a tulajdonságok és operátorok automatikus átlépésekor (alapértelmezett viselkedés). Ha később módosítani szeretné a beállítást, tiltsa le a Lépés a tulajdonságokon és operátorokon beállítást az Eszközök > Beállítások párbeszédablak Hibakeresés>Általános területén.
Lépjen át a kódon a függvények kihagyásához
Ha függvény- vagy metódushívást tartalmazó kódsoron van, az F11 helyett a F10 (Hibakeresés > lépdelés) billentyűkombinációt nyomhatja le.
Az F10 anélkül fejleszti a hibakeresőt, hogy az alkalmazáskódban lévő függvényekre vagy metódusokra lép (a kód továbbra is fut). Az F10 billentyű lenyomásával átugorhatja a nem kívánt kódot. Így gyorsan elérheti azokat a kódokat, amelyek jobban érdeklik. A lépésparancsok használatáról további információért lásd: Kód navigálása a hibakeresőben.
A hibakereső kiléptetése az aktuális függvényből
Előfordulhat, hogy folytatni szeretné a hibakeresési munkamenetet, de végig szeretné léptetni a hibakeresőt az aktuális függvényen.
Nyomja le a Shift + F11 (vagy Hibakeresésből kilépés >).
Ez a parancs folytatja az alkalmazás végrehajtását (és tovább folytatja a hibakeresőt), amíg az aktuális függvény vissza nem tér.
Gyorsan navigáljon a kód egy pontjához az egérrel
A Kattintásra futtatás gomb használata hasonlít egy ideiglenes töréspont beállítására. Ez a parancs az alkalmazáskód látható régióján belüli gyors használathoz is hasznos. A Kattintásra futtatás bármely megnyitott fájlban használható. A funkcióval és a hasonló navigációs funkciókkal kapcsolatos további információkért lásd a „Futtatás a kód egy adott helyére”részt.
A hibakeresőben vigye az egérmutatót egy kódsor fölé, amíg a Run to Click (Futtatás ide) gomb
megjelenik a jobb oldalon.
A Visual Studio hibakeresőjének képernyőképe látható, amelyen a Futtatás kattintásra gomb közvetlenül egy függvényhívás jobb oldalán jelenik meg.
A hibakeresőben vigye az egérmutatót egy kódsor fölé, amíg a Run to Click (Futtatás ide) gomb
megjelenik a bal oldalon.
A Visual Studio hibakereső képernyőképe, ahol a Futtatás kattintásra gomb a függvényhívás bal oldalán jelenik meg.
Jegyzet
A Futtatás kattintásra (Futtatás ide) gomb a Visual Studio 2017-től érhető el.
Kattintson a Futtatás kattintásra a (Futtatás a kijelölt pontig) gombra. A hibakereső arra a kódsorra lép, ahová kattintott.
Kurzorhoz futtatás
Kód szerkesztésekor (a hibakeresőben való szüneteltetés helyett) kattintson a jobb gombbal az alkalmazásban egy kódsorra, és válassza a Futtatás a kurzorhoz parancsot (vagy nyomja le a CtrlF10 + ). Ez a parancs elkezdi a hibakeresést, és beállít egy ideiglenes töréspontot az aktuális kódsoron. A funkcióval és a hasonló navigációs funkciókkal kapcsolatos további információkért lásd a „Futtatás a kód egy adott helyére”részt.
Ha töréspontokat állít be, a hibakereső az első töréspontnál szünetel, amelyet elér.
Tartsa lenyomva a F5 billentyűt, amíg el nem éri azt a kódsort, ahol a Kurzuszig futtatás parancsot kijelölte.
Ez a parancs akkor hasznos, ha kódot szerkeszt, és szeretne gyorsan beállítani egy ideiglenes töréspontot, és egyszerre elindítani a hibakeresőt.
Jegyzet
Hibakeresés közben a Futtatás a kurzorhoz funkciót használhatja a Hívásverem ablakban.
Az alkalmazás gyors újraindítása
Válassza az
gombot a hibakeresési eszköztáron (vagy nyomja le a Ctrl + Shift + F5 billentyűkombinációt).
A Újraindításbillentyű lenyomásakor időt takarít meg az alkalmazás leállítása és a hibakereső újraindítása helyett. A hibakereső az első töréspontnál szünetel, amelyet kód végrehajtásával érnek el.
Ha le szeretné állítani a hibakeresőt, és vissza szeretne jutni a kódszerkesztőbe, a
Stop DebuggingStop DebuggingÚjraindításhelyett nyomja le a piros stop gombot.
Változók vizsgálata adattippekkel
Most, hogy megismerkedett egy kicsit, jó lehetősége van arra, hogy megkezdje az alkalmazás állapotának (változóinak) vizsgálatát a hibakeresővel. A változók vizsgálatát lehetővé tevő funkciók a hibakereső egyik leg hasznosabb funkciója, és ennek különböző módjai vannak. Amikor megpróbál hibakeresést végezni, gyakran megpróbál rájönni, hogy a változók azokat az értékeket tárolják-e, amelyektől elvárható, hogy egy adott alkalmazásállapotban legyenek. Az adattippek használatáról további információt Adatértékek megtekintése adattippekbencímű témakörben talál.
Miközben a hibakeresőben szüneteltetve van, mutasson egy objektumra az egérrel, és láthatja annak értékét vagy alapértelmezett tulajdonságértékét.
Ha a változó rendelkezik tulajdonságokkal, kibonthatja az objektumot az összes tulajdonságának megtekintéséhez.
A hibakeresés során gyakran érdemes gyorsan ellenőrizni az objektumok tulajdonságértékeit, és az adattippek is jól használhatók.
Változók vizsgálata az Automatikus és helyi beállítások ablakokkal
Az Automatikus ablakban a változók az aktuális értékükkel és típusukkal együtt láthatók. Az Automatikus ablakban az aktuális vagy az előző sorban használt összes változó látható (C++-ban az ablak az előző három kódsor változóit jeleníti meg). Ellenőrizze a nyelvspecifikus viselkedés dokumentációját). További információ az ablakok használatáról: Változók vizsgálata az Automatikus és helyi ablakokban.
Hibakeresés közben tekintse meg a kódszerkesztő alján található Automatikus ablakot.
Jegyzet
A JavaScriptben a Helyiek ablak támogatott, de az Autos ablak nem.
Ezután tekintse meg a Helyiek ablakot. A Helyiek ablakban láthatók a jelenleg hatókörben lévő változók.
Ebben a példában az this objektum és az objektum f hatókörben vannak. További információért lásd: Az Automatikus és helyi ablakok a változók ellenőrzésére.
Óra beállítása
A Watch ablak segítségével megadhat egy változót (vagy kifejezést), amelyet szemmel szeretne tartani. Részletes információkért lásd: Vigyázz beállítása a Watch és a QuickWatch ablakok használatával.
Hibakeresés közben kattintson a jobb gombbal egy objektumra, és válassza a Figyelő hozzáadásalehetőséget.
Ebben a példában egy figyelőt állít az objektumra, és a hibakeresőben haladva láthatja az érték változását. A többi változóablakhoz képest a Watch ablakok mindig a figyelt változókat jelenítik meg (szürkén jelennek meg, ha nincsenek hatókörön belül).
Vizsgálja meg a hívásvermet
A Hívási lánc ablakban látható a metódusok és függvények meghívásának sorrendje. A felső sorban az aktuális függvény látható. A második sor azt a függvényt vagy tulajdonságot jeleníti meg, amelyből meghívták, és így tovább. A hívásverem jó módszer az alkalmazások végrehajtási folyamatának vizsgálatára és megértésére. További információért lásd: Hogyan lehet a hívásvermet megvizsgálni.
Jegyzet
A Hívásverem ablak hasonló a hibakeresési nézethez néhány IDE-ben, például az Eclipse-ben.
Hibakeresés közben jelölje ki a Hívásverem ablakot, amely alapértelmezés szerint meg van nyitva a jobb alsó panelen.
A kódsorra duplán kattintva megnézheti a forráskódot, és ez a hibakereső által vizsgált aktuális hatókört is módosítja. Ez nem viszi előbbre a hibakeresőt.
A Hívásverem ablakban lévő helyi menüket is használhatja jobb gombos kattintással más műveletek elvégzésére. Például beszúrhat töréspontokat adott függvényekbe, újraindíthatja az alkalmazást a Futtatás a kurzorhozhasználatával, és megvizsgálhatja a forráskódot.
Kivétel vizsgálata
Amikor az alkalmazás kivételt jelez, a hibakereső a kivételt okozó kódsorra viszi. További információ: Kivétel vizsgálata a Kivétel segédhasználatával.
Ebben a példában a Kivétel segéd egy kivételt és egy hibaüzenetet jelenít meg System.NullReferenceException , amely szerint az objektumhivatkozás nem az objektum egy példányára van beállítva. Azt jelzi, hogy a karakterlánc értéke null volt, amikor megpróbálta meghívni a Trim metódust.
A Kivétel segéd egy nagyszerű funkció, amely segíthet a hibák hibakeresésében. Az Exception Helper segítségével olyan feladatokat is elvégezhet, mint a hiba részleteinek megtekintése és egy figyelés hozzáadása. Vagy szükség esetén módosíthatja az adott kivétel kivetésének feltételeit. További információ a kód kivételeinek kezeléséről: Hibakeresési technikák és eszközök.
Nyissa meg a Kivételbeállítások csomópontot a kivételtípus kezelésére vonatkozó további lehetőségek megtekintéséhez, de ehhez a bemutatóhoz semmit sem kell módosítania!
Borravaló
Ha Önnek van Copilot, mesterséges intelligencia támogatást kaphat a kivételek hibakeresése közben. Csak keresse meg az Elemzés a Copilot-tal
gombot. További információ: Debug with Copilot.
Borravaló
Ha Önnek van Copilot, mesterséges intelligencia támogatást kaphat a kivételek hibakeresése közben. Csak keresse meg az Ask Copilot
gombot. További információ: Debug with Copilot.
AI-segítség kérése
Ha rendelkezik Copilot-tal, a hibakeresés során AI-segítséget kaphat. További információ: Debug with Copilot. Hibakeresés közben megkeresheti az Analyze with Copilot
Ezekben a forgatókönyvekben Copilot már ismeri a kérdések kontextusát, így nem kell saját kontextust megadnia Copilot csevegésben.
AI-segítség kérése
Ha rendelkezik Copilot-tal, a hibakeresés során AI-segítséget kaphat. További információ: Debug with Copilot. Hibakeresés közben megkeresheti a Ask Copilot
gombot is. Ezekben a forgatókönyvekben Copilot már ismeri a kérdések kontextusát, így nem kell saját kontextust megadnia Copilot csevegésben.
Hibakeresés konfigurálása
A projektet úgy konfigurálhatja, hogy hibakeresési vagy kiadási konfigurációként építse fel, konfigurálhatja a projekt tulajdonságait a hibakereséshez, vagy megadhat általános beállításokat a hibakereséshez. Emellett úgy is konfigurálhatja a hibakeresőt, hogy egyéni információkat jelenítsen meg olyan funkciókkal, mint a DebuggerDisplay attribútum, vagy a C/C++- NatVis-keretrendszer.
A hibakeresési tulajdonságok az egyes projekttípusokra vonatkoznak. Megadhat például egy argumentumot, amely átadható az alkalmazásnak az indításkor. A projektspecifikus tulajdonságok eléréséhez kattintson a jobb gombbal a projektre a Solution Explorer, és válassza a Properties lehetőséget. A hibakeresési tulajdonságok általában a Build vagy Hibakeresés lapon jelennek meg az adott projekttípustól függően.
2022 Visual Studio-tól kezdődően a Debug lap .NET projektekhez tartalmaz egy hivatkozást a hibakeresési indítási profilok felhasználói felületére, ahol beállíthatja a hibakereséssel kapcsolatos tulajdonságokat.
2022 Visual Studio-tól kezdődően a Debug lap .NET projektekhez tartalmaz egy hivatkozást a hibakeresési indítási profilok felhasználói felületére, ahol beállíthatja a hibakereséssel kapcsolatos tulajdonságokat.
Élő ASP.NET-alkalmazások hibakeresése az Azure App Service-ben
A Azure App Service hibakereséséhez lásd: Debug Azure apps.
Kizárólag a Visual Studio Enterprise esetében a Snapshot Debugger pillanatképet készít az éles környezetben lévő alkalmazásokról, amikor az Önt érdeklő kód végrehajtódik. Ha arra szeretné utasítani a hibakeresőt, hogy készítsen pillanatképet, állítson be pillanatfelvételi pontokat és naplózási pontokat a kódban. A hibakereső lehetővé teszi, hogy pontosan lássa, mi ment rosszul, anélkül, hogy hatással lenne az éles környezetben futó alkalmazás forgalmára. A Pillanatkép-hibakereső jelentősen csökkentheti az éles környezetekben előforduló problémák megoldásához szükséges időt.
A pillanatkép-gyűjtemény ASP.NET Azure App Service futó alkalmazásokhoz érhető el. ASP.NET alkalmazásoknak .NET Framework 4.6.1 vagy újabb verzióján kell futniuk, ASP.NET Core alkalmazásoknak pedig .NET Core 2.0-s vagy újabb verzióján kell futniuk Windows.
További információ: lásd az ASP.NET alkalmazások élő hibakeresése a Snapshot Debugger használatával.
Pillanatképek megtekintése az IntelliTrace visszalépés funkcióval (Visual Studio Enterprise)
Az IntelliTrace visszalépési funkció automatikusan pillanatképet készít az alkalmazásról minden törésponton és hibakereső lépéseseménynél. A rögzített pillanatképekkel visszatérhet az előző töréspontokhoz vagy lépésekhez, és megtekintheti az alkalmazás korábbi állapotát. Az IntelliTrace visszalépéssel időt takaríthat meg, ha az előző alkalmazásállapotot szeretné látni, de nem szeretné újraindítani a hibakeresést, és nem szeretné újból létrehozni a kívánt alkalmazásállapotot.
A pillanatképeket a hibakeresési eszköztár Visszalépés és Lépés előre gombjaival navigálhat és tekintheti meg. Ezek a gombok a Diagnosztikai eszközök ablak Események lapján megjelenő események között navigálnak.
További információ: Korábbi alkalmazásállapotok vizsgálata az IntelliTrace lapon.
Teljesítményproblémák hibakeresése
Ha az alkalmazás túl lassan fut, vagy túl sok memóriát használ, előfordulhat, hogy korai időben tesztelnie kell az alkalmazást a profilkészítési eszközökkel. További információ a profilkészítési eszközökről, például a PROCESSZORhasználati eszközről és a Memóriaelemzőről: Először tekintse meg a profilkészítési eszközöket.
Kapcsolódó tartalom
Ebben az oktatóanyagban gyorsan áttekintett számos hibakereső funkciót. Érdemes lehet részletesebben áttekinteni az alábbi funkciók egyikét, például a töréspontokat.