Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Ez a cikk egy részletes útmutatóban ismerteti a Visual Studio hibakeresőjének funkcióit. Ha magasabb szintű nézetet szeretne a hibakereső funkcióiról, tekintse meg Először tekintse meg a hibakereső. Az alkalmazás hibakeresése általában azt jelenti, hogy az alkalmazást a csatolt hibakeresővel futtatja. Ha ezt a feladatot végzi, 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ókban tárolt órákat, hogy lássa, mikor változnak az értékek, megvizsgálhatja a kód végrehajtási útvonalát, ellenőrizheti, hogy fut-e egy kódág, és így tovább. Ha ez a gyakorlat az első alkalom, hogy próbál kódot hibakeresni, érdemes elolvasnia a Hibakeresés abszolút kezdőknek című írást, mielőtt elolvassa ezt a cikket.
Bár a bemutató alkalmazás Visual Basic, a funkciók többsége a C#, a C++, az F#, a Python, a JavaScript és a Visual Studio által támogatott egyéb nyelvekre is alkalmazható (az F# nem támogatja a szerkesztést és a folytatást. Az F# és a JavaScript nem támogatja az Automatikusak ablakot). A képernyőképek a Visual Basicben találhatók.
Ebben az oktatóanyagban a következőket meg fogja tanulni:
- Indítsa el a hibakeresőt, és nyomja le a töréspontokat.
- Ismerje meg a parancsokat a kód hibakeresőben való végiglépéshez
- Változók vizsgálata adattippekben és hibakereső ablakokban
- Vizsgálja meg a hívásvermet
Előfeltételek
Telepítve kell lennie a Visual Studio 2019-nek és a .NET Core platformfüggetlen fejlesztési számítási feladatának.
Ha még nem telepítette a Visual Studiót, lépjen a Visual Studio letöltési lapjára, és telepítse ingyenesen.
Ha telepítenie kell a számítási feladatot, de már rendelkezik Visual Studióval, lépjen az Eszközök lekérése>eszközök és szolgáltatások elemre, amely megnyitja a Visual Studio Installert. Elindul a Visual Studio Installer. Válassza a .NET asztali fejlesztés munka terhelését, majd válassza a Módosítás lehetőséget.
Projekt létrehozása
Először létre kell hoznia egy .NET Core-konzolalkalmazás-projektet. A projekttípus tartalmazza az összes szükséges sablonfájlt, mielőtt bármit is hozzáadna!
Nyissa meg a Visual Studiót. Ha a kezdőablak nincs megnyitva, válassza a Fájl>kezdőablak.
A kezdőablakban válassza az Új projekt létrehozása lehetőséget.
Az Új projekt létrehozása ablakban adja meg a konzolt a keresőmezőbe. Ezután válassza a Visual Basic lehetőséget a Nyelv listából, majd válassza a Windowst a Platform listából.
A nyelvi és platformszűrők alkalmazása után válassza a .NET Core konzolalkalmazás-sablonját , majd kattintson a Tovább gombra.
Megjegyzés:
Ha nem látja a konzolalkalmazás sablont, az Új projekt létrehozása ablakból telepítheti. A Nem találja, amit keres? üzenetben válassza a További eszközök és szolgáltatások telepítése hivatkozást. Ezután a Visual Studio Installerben válassza ki a .NET asztali fejlesztési számítási feladatát.
Az új projekt konfigurálása ablakban írja be a kezdő hibakeresést a Projekt neve mezőbe. Ezután válassza a Tovább gombot.
A További információ ablakban győződjön meg arról, hogy a .NET 8.0 ki van jelölve a Keretrendszer legördülő menüben, majd válassza a Létrehozás lehetőséget.
A Visual Studio megnyitja az új projektet.
Az alkalmazás létrehozása
A Program.vb cserélje le az összes alapértelmezett kódot a következő kódra:
Imports System
Class ArrayExample
Public Shared Sub Main()
Dim letters As Char() = {"f"c, "r"c, "e"c, "d"c, " "c, "s"c, "m"c, "i"c, "t"c, "h"c}
Dim name As String = ""
Dim a As Integer() = New Integer(9) {}
For i As Integer = 0 To letters.Length - 1
name += letters(i)
a(i) = i + 1
SendMessage(name, a(i))
Next
Console.ReadKey()
End Sub
Private Shared Sub SendMessage(ByVal name As String, ByVal msg As Integer)
Console.WriteLine("Hello, " & name & "! Count to " & msg)
End Sub
End Class
Indítsa el a hibakeresőt!
Nyomja le az F5 billentyűt (Hibakeresés > a Hibakeresés indítása) vagy a hibakeresési eszköztár zöld Hibakeresés indítása gombját.
Az F5 az alkalmazás folyamatához csatolt hibakeresővel indítja el az alkalmazást, de jelenleg nem végeztünk semmi különlegeset a kód vizsgálatához. Az alkalmazás tehát csak betöltődik, és megjelenik a konzol kimenete.
Hello, f! Count to 1 Hello, fr! Count to 2 Hello, fre! Count to 3 Hello, fred! Count to 4 Hello, fred ! Count to 5 Hello, fred s! Count to 6 Hello, fred sm! Count to 7 Hello, fred smi! Count to 8 Hello, fred smit! Count to 9 Hello, fred smith! Count to 10Ebben az oktatóanyagban részletesebben is áttekintheti ezt az alkalmazást a hibakereső használatával, és áttekintheti a hibakereső funkcióit.
Állítsa le a hibakeresőt a (ShiftF5) billentyű + , vagy válassza a hibakeresési eszköztár piros Stop Hibakeresés gombját.
A konzolablakban nyomja le a billentyűt a konzolablak bezárásához.
Töréspont beállítása és a hibakereső indítása
ForA függvény ciklusábanMainállítson be egy töréspontot a következő kódsor bal margójára kattintva:name += letters(i)Megjelenik egy piros kör, ahol a töréspontot állítja be.
A töréspontok a megbízható hibakeresés egyik legalapvetőbb és legfontosabb funkciója. 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.
Nyomja le az F5 (Hibakeresés > Hibakeresés indítása) vagy kattintson a Hibakeresési eszköztár Hibakeresés indítása gombjára. Az alkalmazás elindul, és a hibakereső oda fut, ahol a töréspontot megadta.
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).
Ha az alkalmazás még nem fut, az F5 elindítja a hibakeresőt, és az első töréspontnál leáll. Ellenkező esetben az F5 továbbra is futtatja az alkalmazást a következő töréspontig.
A töréspontok akkor hasznosak, ha ismeri a kódsort vagy a kódnak azt a szakaszát, amelyet részletesen meg szeretne vizsgálni. A különböző típusú töréspontokról, például a feltételes töréspontokról további információt a Töréspontok használata című témakörben talál.
Navigálás a hibakeresőben lépésparancsokkal
Ebben a cikkben a billentyűparancsokat használjuk, mivel ez egy jó módja annak, hogy gyorsan végrehajtsuk az alkalmazást a hibakeresőben (az egyenértékű parancsok, például a menüparancsok zárójelben jelennek meg).
Amíg a
Formetódus ciklusábanMaina kódvégrehajtás szüneteltetve van, nyomja le kétszer az F11 billentyűt (vagy válassza a Hibakeresés > lépésbe) lehetőséget aSendMessagemetódushívásra való ugráshoz.Az F11 kétszeri lenyomása után a következő kódsoron kell lennie:
SendMessage(name, a(i))Nyomja le még egyszer az F11 billentyűt a
SendMessagemetódushoz való lépéshez.A sárga mutató továbblép a
SendMessagemetódusra.
Az F11 a Step Into parancs, és egyszerre egy utasítással irányítja előre az alkalmazás végrehajtását. 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).
Tegyük fel, hogy végzett a
SendMessagefüggvény vizsgálatával, és ki szeretne lépni a függvényből, de továbbra is a hibakeresőben szeretne maradni. Ezt a Kilépés paranccsal teheti meg.Nyomja meg a Shift + F11 billentyűket (vagy >).
Ez a parancs folytatja az alkalmazás végrehajtását (és tovább folytatja a hibakeresőt), amíg az aktuális metódus vagy függvény vissza nem tér.
Önnek a
Forhurokban kell lennie aMainmetódusban, és aSendMessagemetódushívásnál kell szünetelnie.Nyomja le többször az F11 billentyűt, amíg vissza nem jut a
SendMessagemetódushíváshoz.Amíg a kódvégrehajtás a metódushívásnál szünetel, nyomja le egyszer az F10 billentyűt (vagy válassza a Hibakeresési > lépés vége) lehetőséget.
Ezúttal vegye észre, hogy a hibakereső nem lép be a
SendMessagemetódusba. 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 (SendMessageF11 helyett) átugortuk a implementációs kódotSendMessage(ami most talán nem érdekel minket). További információ a kód különböző módon történő bejárásáról: Kód navigálása a hibakeresőben.
Navigálás a kódban a kattintással történő futtatás funkcióval
Az F5 billentyű lenyomásával lépjen ismét a töréspontra.
A kódszerkesztőben görgessen le, és vigye az egérmutatót a
Console.WriteLinemetódusra aSendMessagemetódusban, amíg meg nem jelenik a zöld Futtatás kattintással gomb. A gomb elemleírásában a "Futtatás végrehajtása eddig a pontig" felirat látható.
Válassza a Futtatás kattintásra gombot.
A hibakereső továbblép a
Console.WriteLinemetódusra.A gomb használata hasonló egy ideiglenes töréspont beállításához. Run to Click funkció hasznos, ha gyorsan navigál az alkalmazáskód látható részében (bármelyik megnyitott fájlban kiválasztható).
Az alkalmazás gyors újraindítása
Az alkalmazás újraindításához nyomja le a Ctrl + Shift + F5 billentyűkombinációt, ezzel 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.
A hibakereső ismét megáll az Ön által korábban beállított töréspontnál a For hurokban.
Változók vizsgálata adattippekkel
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, amelyeket egy adott időpontban elvár.
Amíg a kódvégrehajtás szüneteltetve van az
name += letters[i]utasításon, mutasson alettersváltozóra, és láthatja az alapértelmezett értékét, a tömb első elemének értékét."f"cEzután vigye az egérmutatót a
nameváltozó fölé, és láthatja az aktuális értékét, egy üres sztringet.Nyomja le néhányszor az F5 billentyűt (vagy a Hibakeresés>Folytatása), hogy többször iteráljon a
Forcikluson, majd a töréspontnál szüneteljen, és minden alkalommal vigye az egérmutatót anameváltozó fölé, hogy ellenőrizze annak értékét.
A változó értéke a
Forciklus minden iterációjával változik, és af, majdfr, majdfrestb. értékeket jeleníti meg.A hibakeresés során gyakran érdemes gyorsan ellenőrizni a tulajdonságértékeket a változókon, hogy azok tárolják-e a várt értékeket, és az adattippek jó módszerként használhatók.
Változók vizsgálata az Automatikus és helyi beállítások ablakokkal
Tekintse meg a kódszerkesztő alján található Autos ablakot.
Ha be van zárva, nyissa meg, amíg a kódvégrehajtás szünetel a hibakeresőben aWindows>Autos> kiválasztásával.
Az Automatikus beállítások ablakban a változók és az aktuális értékük láthatók. Az Automatikus beállítások ablak az aktuális vagy az előző sorban használt összes változót megjeleníti (ellenőrizze a nyelvspecifikus viselkedés dokumentációját).
Ezután tekintse meg a Helyiek ablakot az Automatikusak ablak melletti lapon.
Bontsa ki a változót
lettersa benne található elemek megjelenítéséhez.
A Helyiek ablakban láthatók az aktuális hatókörben lévő változók, azaz az aktuális végrehajtási környezet.
Óra beállítása
Megadhatja azt a változót vagy kifejezést, amelyet a kód végiglépése során nyomon szeretne követni– ehhez adja hozzá a Figyelő ablakhoz.
Amíg a hibakereső szüneteltetve van, kattintson a jobb gombbal a változóra, és válassza a
nameWatch hozzáadása lehetőséget.A Figyelő ablak alapértelmezés szerint megnyílik a kódszerkesztő alján.
Most, hogy beállított egy figyelést a
nameváltozóra, lépkedjen végig a kódon, és figyelje meg, hogyan változik aznameváltozó értéke az egyesforciklus-iterációk során.A többi változóablaktól eltérően a Watch ablak mindig a figyelt változókat jeleníti meg. A hatókörön kívül eső változók elérhetetlenként jelennek meg.
További információ a Watch ablakról: Watch változók a Watch ablakokkal.
Vizsgálja meg a hívásvermet
Amíg a kódvégrehajtás szünetel a
Forhurokban, válassza a Hívásverem ablakot, amely alapértelmezés szerint meg van nyitva a jobb alsó panelen.Ha be van zárva, nyissa meg, amíg a kódvégrehajtás szünetel a hibakeresőben az Debug>Windows>Hívásverem választásával.
Válassza az F11-et néhányszor, amíg a hibakereső meg nem áll a
SendMessagemetódusban. Tekintse meg a Hívásverem ablakot.
A Hívási verem ablakban látható a metódusok és függvények meghívásának sorrendje. A felső sor az aktuális függvényt (az alkalmazás metódusát
SendMessage) jeleníti meg. A második sor azt mutatja, hogySendMessageaMainmetódusból lett meghívva, és így tovább.Megjegyzés:
A Hívásverem ablak hasonló néhány IDE hibakeresési nézetéhez, például az Eclipse-hez.
A hívásverem jó módszer az alkalmazások végrehajtási folyamatának vizsgálatára és megértésére.
A kódsorra duplán kattintva megtekintheti a forráskódot, és ez a hibakereső által vizsgált hatókört is módosítja. Ez a művelet nem lépteti előre 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. Beszúrhat például töréspontokat a megadott függvényekbe, előléptetheti a hibakeresőt a Futtatás a kurzorhoz funkcióval, és megvizsgálhatja a forráskódot. További információ : How to: Examine the Call Stack.
A végrehajtási folyamat módosítása
Nyomja le kétszer az F11 billentyűt a
Console.WriteLinemetódus futtatásához.Ha a hibakereső fel van függesztve a
SendMessagemetódushívásban, az egérrel fogja meg a sárga nyilat vagy a végrehajtási mutatót (a bal margón), és húzza fel a mutatót egy sorral azConsole.WriteLineutasításhoz.Nyomja le az F11 billentyűt.
A hibakereső újrafuttatja a
Console.WriteLinemetódust (ezt a műveletet a konzolablak kimenetében láthatja).A végrehajtási folyamat módosításával olyan műveleteket végezhet, mint a különböző kódvégrehajtási útvonalak tesztelése vagy a kód újrafuttatása a hibakereső újraindítása nélkül.
Figyelmeztetés
Gyakran óvatosnak kell lennie ezzel a funkcióval, és figyelmeztetés jelenik meg az elemleírásban. Más figyelmeztetések is megjelenhetnek. Az egérmutató áthelyezése nem tudja visszaállítani az alkalmazást egy korábbi alkalmazásállapotba.
Nyomja le az F5 billentyűt az alkalmazás futtatásának folytatásához.
Gratulálunk az oktatóanyag elvégzéséhez!
Következő lépések
Ebben az oktatóanyagban megtanulta, hogyan indíthatja el a hibakeresőt, hogyan léphet át a kódon, és hogyan vizsgálhatja meg a változókat. Érdemes lehet áttekinteni a hibakereső funkcióit, valamint a további információkra mutató hivatkozásokat.