Megosztás:


Oktatóanyag: Útmutató Visual Basic-kód hibakereséséhez a Visual Studióval

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!

  1. Nyissa meg a Visual Studiót. Ha a kezdőablak nincs megnyitva, válassza a Fájl>kezdőablak.

  2. A kezdőablakban válassza az Új projekt létrehozása lehetőséget.

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

    Képernyőkép az Új projekt létrehozása ablakról, amelyen a keresőmezőben a

    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.

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

  3. 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!

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

    Képernyőkép a hibakeresési eszköztárról a zöld Hibakeresés gomb kiemelésével.

    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 10
    

    Ebben az oktatóanyagban részletesebben is áttekintheti ezt az alkalmazást a hibakereső használatával, és áttekintheti a hibakereső funkcióit.

  2. Állítsa le a hibakeresőt a (ShiftF5) billentyű + , vagy válassza a hibakeresési eszköztár piros Stop Hibakeresés gombját.

    Képernyőkép a hibakeresési eszköztárról, amelyen a piros Stop Debugging (Hibakeresés leállítása) gomb van kiemelve.

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

  1. For A függvény ciklusában Main á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.

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

    Képernyőkép a Visual Studio Code szerkesztőablakról, ahol a végrehajtás leállt egy töréspontnál.

    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.

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

  1. Amíg a For metódus ciklusában Main a 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 a SendMessage metó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))

  2. Nyomja le még egyszer az F11 billentyűt a SendMessage metódushoz való lépéshez.

    A sárga mutató továbblép a SendMessage metódusra.

    Képernyőkép egy hibakeresési munkamenetről a Visual Studio Code-szerkesztőben, amelynek végrehajtása a SendMessage metódusba lépés után szünetel.

    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 SendMessage fü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.

  3. 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 For hurokban kell lennie a Main metódusban, és a SendMessage metódushívásnál kell szünetelnie.

  4. Nyomja le többször az F11 billentyűt, amíg vissza nem jut a SendMessage metódushíváshoz.

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

    Képernyőkép egy hibakeresési munkamenetről a Visual Studio Code-szerkesztőben, amelynek végrehajtása a SendMessage metódushívásra való lépés után szünetel.

    Ezúttal vegye észre, hogy a hibakereső nem lép be a SendMessage metó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ódot SendMessage (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.

  1. Az F5 billentyű lenyomásával lépjen ismét a töréspontra.

  2. A kódszerkesztőben görgessen le, és vigye az egérmutatót a Console.WriteLine metódusra a SendMessage metó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ó.

    Képernyőkép a Futtatás kattintásra gombról a kódszerkesztő ablakának bal oldalán kiemelt elemleírással.

  3. Válassza a Futtatás kattintásra gombot.

    A hibakereső továbblép a Console.WriteLine metó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.

  1. Amíg a kódvégrehajtás szüneteltetve van az name += letters[i] utasításon, mutasson a letters változóra, és láthatja az alapértelmezett értékét, a tömb első elemének értékét. "f"c

  2. Ezután vigye az egérmutatót a name változó fölé, és láthatja az aktuális értékét, egy üres sztringet.

  3. Nyomja le néhányszor az F5 billentyűt (vagy a Hibakeresés>Folytatása), hogy többször iteráljon a For cikluson, majd a töréspontnál szüneteljen, és minden alkalommal vigye az egérmutatót a name változó fölé, hogy ellenőrizze annak értékét.

    Képernyőkép a hibakeresési végrehajtás leállításáról a kódszerkesztőben, kiemelve a névváltozót és az értéket megjelenítő adattippet.

    A változó értéke a For ciklus minden iterációjával változik, és a f, majd fr, majd frestb. é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

  1. 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).

  2. Ezután tekintse meg a Helyiek ablakot az Automatikusak ablak melletti lapon.

  3. Bontsa ki a változót letters a benne található elemek megjelenítéséhez.

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

    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.

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

  2. Most, hogy beállított egy figyelést a name változóra, lépkedjen végig a kódon, és figyelje meg, hogyan változik az name változó értéke az egyes for ciklus-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

  1. Amíg a kódvégrehajtás szünetel a For hurokban, 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.

  2. Válassza az F11-et néhányszor, amíg a hibakereső meg nem áll a SendMessage metódusban. Tekintse meg a Hívásverem ablakot.

    Képernyőkép a Visual Studio Hívásverem ablakról, a felső sorban kiemelt SendMessage metódushívással.

    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, hogy SendMessage a Main metó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

  1. Nyomja le kétszer az F11 billentyűt a Console.WriteLine metódus futtatásához.

  2. Ha a hibakereső fel van függesztve a SendMessage metó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 az Console.WriteLine utasításhoz.

  3. Nyomja le az F11 billentyűt.

    A hibakereső újrafuttatja a Console.WriteLine metó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.

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