Megosztás a következőn keresztül:


A Visual Studio hibakereső áttekintése

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.

Töréspont beállítása

Nyomja meg az F5 (Hibakeresés indítása > Hibakeresés indítása) vagy a Hibakeresés indítása gombot a Hibakeresés indítása 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:

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.

F11 Lépj be

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 A Futtatás a kattintáshoz gomb képe a Visual Studio hibakeresőből. A gomb azt jelzi, hogy a végrehajtásnak arra a sorra kell futnia, ahol a gomb el van helyezve. 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 A Futtatás a kattintáshoz gomb képe a Visual Studio hibakeresőből. A gomb azt jelzi, hogy a végrehajtásnak arra a sorra kell futnia, ahol a gomb el van helyezve. 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.

Képernyőkép a Run To Cursor (Futtatás a kurzorhoz) lehetőségről.

Futtatás a kurzorhoz

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 Alkalmazás újraindítása alkalmazás újraindítása 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 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.

Adattipp megtekintése

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.

Képernyőkép az Autos ablakról.

Automatikus ablak

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.

Képernyőkép a Helyiek ablakról.

Helyiek ablak

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.

Képernyőkép a Figyelő ablakról.

Figyelőablak

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.

Képernyőkép a Hívásverem ablakról.

A hívásverem vizsgálata

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.

Kivételkezelő

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-talElemzés a Copilot gomb képernyőképe. 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 CopilotAsk Copilot gomb képernyőképét. 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 gomb képernyőképét az Analyze with Copilot funkcióval. 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 CopilotAsk Copilot gomb képernyőképét. 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.

Képernyőkép a projekt tulajdonságairól.

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.

Projekttulajdonságok

É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.

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.