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


A Visual Studio hibakeresőjének áttekintése

Ez a cikk bemutatja a Visual Studio által biztosított hibakereső eszközöket. A Visual Studio-környezetben az alkalmazás hibakeresése általában azt jelenti, hogy az alkalmazást a csatolt hibakeresővel 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. Az AI által támogatott hibakeresés kipróbálásához tekintse meg Hibakeresés a 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, ha fel vannak jegyezve).

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 a Visual Studio hol függeszti fel 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

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

A Visual Studio 2022 a hibakeresés során támogatja az élő kódszerkesztés használatát. 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

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 meg nem jelenik a bal oldalon a Futtatás kattintásig (Futtatás ide) gomb A Visual Studio Hibakeresőjében található Futtatás kattintásig gomb képernyőképe. Ez a gomb azt jelzi, hogy a végrehajtásnak arra a sorra kell futnia, ahol a gomb található..

A Visual Studio hibakereső képernyőképe, amelyen a Futtatás kattintásig gomb látható közvetlenül egy függvényhívás mellett balra.

A Visual Studio hibakereső képernyőképe, amelyen a Futtatás kattintásig gomb látható közvetlenül egy függvényhívás mellett balra.

Jegyzet

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

Futtatás a kurzorhoz

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.

A kód szerkesztése és a hibakeresés folytatása (C#, VB, C++, XAML)

A Visual Studio által támogatott legtöbb nyelven szerkesztheti a kódot a hibakeresési munkamenet közepén, és folytathatja a hibakeresést. A funkció használatához kattintson a kódra a hibakeresőben szüneteltetett kurzorral, végezze el a módosításokat, és nyomja le F5, F10vagy F11 billentyűkombinációt a hibakeresés folytatásához. A funkció használatáról és a funkciók korlátozásáról további információt a Szerkesztés és folytatáscímű témakörben talál.

Szerkesztés és hibakeresés folytatása

A XAML-kód hibakeresési munkamenet során történő módosításához tekintse meg a XAML-kód írásáról és hibakereséséről az XAML Hot Reload segítségével.

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

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.

Automatikus ablak

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.

Helyiek ablak

Helyiek ablak

Ebben a példában az this objektum és az objektum f hatókörben vannak. További információkért lásd a Változók vizsgálata az Automatikus és Helyi ablakokban.

Óra beállítása

A Watch ablak segítségével megadhat egy változót (vagy kifejezést), amelyet szemmel szeretne tartani. További információért lásd: Óra beállítása az Óra és Gyorsmegtekintés ablakok használatával.

Hibakeresés közben kattintson a jobb gombbal egy objektumra, és válassza a Figyelő hozzáadásalehetőséget.

Figyelőablak

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 verem 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ó néhány IDE hibakeresési nézetéhez, például az Eclipse-hez.

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 hívásverem vizsgálata

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.

Kivételkezelő

Ebben a példában a Kivételsegéd megjelenít egy kivételt és egy hibaüzenetet System.Argument, amely azt mondja, hogy az elérési út nem érvényes formátum. Így tudjuk, hogy a hiba egy metódus vagy függvény argumentumán történt.

Ebben a példában a DirectoryInfo hívás a value változóban tárolt üres sztringen adta meg a hibát.

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 rendelkezik Copilot, a kivételek hibakeresése során kaphat mesterséges intelligencia által nyújtott segítséget. Csak keresse meg a Ask Copilotgomb Képernyőképét az Ask Copilot gombról. gomb. További információért lásd: Hibakeresés a Copilot segítségével.

AI-segítség kérése

Ha rendelkezik Copilotalkalmazással, mesterséges intelligencia által nyújtott segítséget kaphat a hibakeresés során. További információért lásd: Hibakeresés a Copilot segítségével. A hibakeresés során megkeresheti a A Copilot kéréseAz Ask Copilot gomb képernyőképét is. gomb. Ezekben a forgatókönyvekben a Copilot már ismeri a kérdések kontextusát, így nem kell saját kontextust megadnia a 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 Megoldáskezelőben, és válassza a Tulajdonságoklehető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.

A Visual Studio 2022-től kezdődően a .NET-projektek hibakeresési lapja hivatkozást biztosít 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

Projekttulajdonságok

Élő ASP.NET-alkalmazások hibakeresése az Azure App Service-ben

Ha az Azure App Service-ben szeretne hibakeresést végezni, tekintse meg Azure-alkalmazások hibakeresését.

A (csak) Visual Studio Enterprise esetében a Pillanatkép-hibakereső pillanatképet készít az éles alkalmazásokról, amikor az ön által érdekelt kódot hajtják végre. 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-hibakereső indítása

A pillanatkép-gyűjtemény az Azure App Service-ben futó ASP.NET alkalmazásokhoz érhető el. ASP.NET alkalmazásoknak a .NET-keretrendszer 4.6.1-s vagy újabb verzióján kell futniuk, és ASP.NET Core-alkalmazásoknak a .NET Core 2.0-s vagy újabb verzióján kell futniuk Windows rendszeren.

További információ: Az élő ASP.NET-alkalmazások hibakeresése a Snapshot Debuggerhasználatával.

Pillanatképek megtekintése az IntelliTrace visszalépés használatá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.

Visszafelé és Előre gomb

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.