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 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.
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
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:
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 meg nem jelenik a bal oldalon a Futtatás kattintásig (Futtatás ide) gomb
.
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.
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.
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.
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.
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ó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.
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 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.
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 Copilot
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ése
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.
É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-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.
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.