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


Oktatóanyag: C#-kód hibakeresése a Visual Studióval

Ez a cikk egy részletes útmutatóban ismerteti a Visual Studio hibakeresőjének funkcióit. Amikor hibakeresést végez az alkalmazásán , az általában azt jelenti, hogy az alkalmazást 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 megtekintheti a változókban tárolt értékeket. Beállíthat órákat változókon, hogy lássa, mikor változnak az értékek. A kód végrehajtási útvonalát megvizsgálva megállapíthatja, hogy fut-e egy kódág.

Ha ez a cikk az első alkalom, hogy megpróbál kódot hibakeresésre használni, olvassa el az abszolút kezdőknek szóló Hibakeresés című témakört. Ha magasabb szintű nézetet szeretne a hibakereső funkcióiról, tekintse meg a Visual Studio hibakeresőjének áttekintését.

Bár a bemutató alkalmazás C#, a funkciók többsége a C++, a Visual Basic, 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 C#-ban találhatók.

Ebben az oktatóanyagban a következőket fogja megtanulni:

  • Indítsa el a hibakeresőt, és nyomja le a töréspontokat
  • A parancsok tanulása a kód hibakeresőben való végiglépéséhez
  • Változók vizsgálata adattippekben és hibakereső ablakokban
  • A hívásverem vizsgálata

Előfeltételek

A Visual Studiónak telepítve kell lennie a .NET asztali fejlesztési munkaállomásán.

Ha telepítenie kell a Visual Studiót, töltse le ingyenesen a Visual Studio letöltési webhelyére.

Ha már rendelkezik Visual Studióval, de a .NET asztali fejlesztési számítási feladat nincs telepítve, lépjen az Eszközök lekérése>eszközök és szolgáltatások elemre... A Visual Studio Installerben válassza a .NET asztali fejlesztési számítási feladatát, majd a Módosítás lehetőséget.

Projekt létrehozása

Először hozzon létre egy C#/.NET-konzolalkalmazás-projektet. A projektsablon tartalmazza az összes szükséges fájlt, mielőtt bármit hozzáadna.

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

  2. A kezdési ablakban válassza Új projekt létrehozásalehetőséget.

  3. A Új projekt létrehozása ablakban írja be konzol a keresőmezőbe. Ezután válassza C# a Nyelv listából, majd válassza Windows a Platform listából.

    A nyelvi és platformszűrők alkalmazása után válassza a Konzolalkalmazás sablont, majd válassza a Továbblehetőséget.

    Képernyőkép a Visual Studio

    Jegyzet

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

  4. Az Új projekt konfigurálása ablakban írja be GetStartedDebugging a Projekt neve mezőbe. Ezután válassza Továbblehetőséget.

  5. A További információ ablakban győződjön meg arról, hogy a .NET 10.0 ki van jelölve a Keretrendszer legördülő menüben, majd válassza a Létrehozás lehetőséget.

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

  2. A kezdési ablakban válassza Új projekt létrehozásalehetőséget.

  3. A Új projekt létrehozása ablakban írja be konzol a keresőmezőbe. Ezután válassza C# a Nyelv listából, majd válassza Windows a Platform listából.

    A nyelvi és platformszűrők alkalmazása után válassza a Konzolalkalmazás sablont, majd válassza a Továbblehetőséget.

    Képernyőkép a Visual Studio 2022

    Jegyzet

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

  4. Az Új projekt konfigurálása ablakban írja be GetStartedDebugging a Projekt neve mezőbe. Ezután válassza Továbblehetőséget.

  5. A További információk ablakban győződjön meg arról, hogy .NET 8.0 van kiválasztva a Keretrendszer legördülő menüben, majd válassza a létrehozása lehetőséget.

A Visual Studio megnyitja az új projektet.

Az alkalmazás létrehozása

A Program.cscserélje le az összes alapértelmezett kódot a következő kódra:

using System;

class ArrayExample
{
   static void Main()
   {
      char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
      string name = "";
      int[] a = new int[10];
      for (int i = 0; i < letters.Length; i++)
      {
         name += letters[i];
         a[i] = i + 1;
         SendMessage(name, a[i]);
      }
      Console.ReadKey();
   }

   static void SendMessage(string name, int msg)
   {
      Console.WriteLine("Hello, " + name + "! Count to " + msg);
   }
}

Indítsa el a hibakeresőt!

Ez a cikk többnyire billentyűparancsokat használ. A hibakereső parancsok gyors végrehajtásának módja. Az egyenértékű parancsok, például az eszköztár vagy a menüparancsok is elérhetők.

  1. A hibakereső elindításához válassza F5lehetőséget, vagy válassza a Hibakeresési cél gombot a Standard eszköztáron, vagy válassza a Hibakeresés indítása gombot a hibakeresési eszköztáron, vagy válassza Hibakeresés>Hibakeresés indítása lehetőséget a menüsávon.

    Képernyőkép a Visual Studio 2022 Standard eszköztárának Hibakeresési cél gombjáról.

    F5 elindítja az alkalmazást az alkalmazás folyamatához csatolt hibakeresővel. A hibakeresés megkezdése óta az alkalmazás a befejezésig fut, é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
    
  2. A hibakereső leállításához válassza a Shift+F5lehetőséget, vagy válassza a Hibakeresés leállítása gombot a hibakeresési eszköztáron, vagy válassza a Hibakeresés>A hibakeresés leállítása lehetőséget a menüsávon.

    Képernyőkép a Visual Studio 2022 hibakeresési eszköztárában található Hibakeresés leállítása gombról.

  3. A konzolablakban válassza ki a kívánt kulcsot a konzolablak bezárásához.

Töréspont beállítása és a hibakereső indítása

  1. A for függvény Main hurokjában állítson be 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 Visual Studio 2022 töréspontjának képernyőképe.

    A töréspontok a megbízható hibakeresés alapvető jellemzői. Olyan töréspontokat állíthat be, ahol a Visual Studio szünetelteti a futó kódot. Megtekintheti a változók értékeit vagy a memória viselkedését, vagy megtudhatja, hogy a kód egy ága fut-e.

  2. A hibakeresés megkezdéséhez válassza F5, vagy válassza a Hibakeresési cél gombot a Standard eszköztáron, vagy válassza a Hibakeresés indítása gombot a hibakeresési eszköztáron, vagy válassza Hibakeresés>Hibakeresés indítása lehetőséget a menüsávon. Az alkalmazás elindul, és a hibakereső a töréspont beállításához megadott kódsorra fut.

    Képernyőkép egy töréspontról a Visual Studio 2022 kódszerkesztőjében, a kódvégrehajtás a töréspontnál szünetel.

    A sárga nyíl arra az utasításra mutat, amelynél a hibakereső megállt. Az alkalmazás végrehajtása ugyanabban a pillanatban szünetel, és az utasítás még nem lett végrehajtva.

    Ha az alkalmazás nem fut, F5 elindítja a hibakeresőt, amely addig futtatja az alkalmazást, amíg el nem éri az első töréspontot. Ha az alkalmazás szüneteltetve van egy töréspontnál, akkor az F5 addig futtatja az alkalmazást, amíg el nem éri a következő töréspontot.

    A töréspontok akkor hasznosak, ha ismeri a kódnak azt a sorát vagy 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 megfelelő törésponttípus használata című témakörben talál.

  1. Amíg a kódvégrehajtás szüneteltetve van a name += letters[i] utasításban, mutasson a letters változóra a tömbméretet és az elemtípust megjelenítő adattipp megjelenítéséhez, char[10].

    Jegyzet

    A hibakereső egyik legkedvesebb funkciója, hogy képes megvizsgálni egy változót. Amikor hibakeresést végez, gyakran próbálja kideríteni, hogy a változók rendelkeznek-e az adott időpontban várt értékekkel. Az adattippek megtekintése jó módszer ennek ellenőrzésére.

  2. Bontsa ki a letters változót az összes tömbelem és azok értékeinek megtekintéséhez.

    A Visual Studio 2022 hibakereső adattippjének képernyőképe, amely a

  3. Vigye az egérmutatót a name változóra az aktuális érték megtekintéséhez, amely egy üres sztring.

  4. Ha a hibakeresőt a következő utasításra szeretné előléptetni, válassza F10lehetőséget, vagy válassza a Lépésátlépés gombot a hibakeresési eszköztáron, vagy válassza Hibakeresés>Lépésátlépés lehetőséget a menüsávon. Az F10 kétszeri kiválasztásával lépkedjen át a SendMessage metódushíváson.

    F10 anélkül fejleszti a hibakeresőt, hogy belelép a függvénybe vagy a metódusokba, bár a kód továbbra is fut. Ezzel a módszerrel kihagyta a metódus kódjának SendMessage hibakeresését, ami jelenleg nem lényeges.

  5. Ha néhányszor át szeretné haladni a for cikluson, válassza F10 többször. A ciklus minden egyes iterációjánál álljon meg a töréspontnál, majd vigye az egeret a name változó fölé, hogy ellenőrizze az adattippben az értékét.

    Képernyőkép egy hibakereső adattippjéről a Visual Studio 2022-ben, amely a

    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. Ha gyorsabban szeretné előrevinni a hibakeresőt a cikluson, válassza a F5 lehetőséget, amely a következő utasítás végrehajtása helyett a töréspontig ugrik.

  6. Amíg a kódvégrehajtás szüneteltetve van a for metódus Main ciklusában, válassza F11, vagy válassza a Lépés gombot a Hibakeresés eszköztáron, vagy válassza Hibakeresés>Lépés a menüsávról, amíg el nem éri a SendMessage metódushívást.

    A hibakeresőt a következő kódsornál kell szüneteltetni:

    SendMessage(name, a[i]);

  7. A SendMessage metódusba való lépéshez válassza újra F11.

    A sárga mutató a SendMessage metódusba lép.

    Képernyőkép, amelyen a hibakereső végrehajtási mutatója látható a

    F11 segítségével részletesebben megvizsgálhatja a kód végrehajtási folyamatát. Lépjen be egy metódusba egy metódushívás során az F11lehetőség kiválasztásával. Alapértelmezés szerint a hibakereső kihagyja a nem használható metódusok használatát. A nemfelhasználói kód hibakereséséről a Just My Codecímű témakörben olvashat.

    Miután befejezte a SendMessage metódus hibakeresését, készen áll arra, hogy visszatérjen a for hurokához a main metódusban.

  8. A SendMessage metódus elhagyásához válassza a Shift+F11lehetőséget, vagy válassza a Kilépés gombot a Hibakeresés eszköztáron, vagy válassza a Hibakeresés>Kilépés lehetőséget a menüsávról.

    Kilépés folytatja az alkalmazás végrehajtását, és a hibakeresőt addig lépteti előre, amíg az aktuális metódus vagy függvény vissza nem tér.

    A sárga mutatót újra látja a for metódus Main hurokjában, a SendMessage metódushívásnál van szüneteltetve. További információ a kódban való különböző mozgási módokról: Kód navigáció a hibakeresőben.

  1. Válassza F5 lehetőséget a töréspontra való továbblépéshez.

  2. A kódszerkesztőben mutasson a Console.WriteLine metódushívásra a SendMessage metódusban, amíg meg nem jelenik a Futtatás kattintásra gomb. A gomb eszköztippjében a "Végrehajtás futtatása ide" felirat látható.

    Képernyőkép a Visual Studio 2022 Futtatás kattintásra gombjáról.

  3. Válassza a Futtatás a gombra kattintáshoz. Másik lehetőségként a kurzorral a Console.WriteLine utasításban válassza a Ctrl+F10lehetőséget. Vagy kattintson a jobb gombbal a Console.WriteLine metódushívásra, és válassza a Futtatás a kurzorig lehetőséget a helyi menüből.

    A hibakereső továbblép a Console.WriteLine függvényhívásra.

    A Kattintásra futtatás gomb használata hasonlít egy ideiglenes töréspont beállítására. Ez a megközelítés kéznél van a gyors navigáláshoz egy megnyitott fájlban lévő applikációs kód látható régióján belül.

Az alkalmazás gyors újraindítása

Ha újra szeretné futtatni az alkalmazást a hibakeresőben, válassza a Ctrl+Shift+F5, vagy válassza a Újraindítás gombot a Hibakeresés eszköztáron, vagy válassza a Hibakeresés>Újraindítás lehetőséget a menüsávon.

Képernyőkép a Visual Studio 2022 Hibakeresési eszköztár Újraindítás gombjáról.

Újraindítás leállítja a hibakeresőt, majd egy lépésben újraindítja. Amikor a hibakereső újraindul, az első töréspontig fut, amelyet korábban a for hurokban állított be, majd pedig szünetelni kezd.

Változók vizsgálata az Automatikus és helyi beállítások ablakokkal

Az Automatikus és Helyi ablak változó értékeket jelenít meg a hibakeresés során. Az ablakok csak hibakeresési munkamenet során érhetők el. Az Automatikus ablakban a hibakereső aktuális vonalán és az előző sorban használt változók láthatók. A Helyiek ablakban a helyi hatókörben definiált változók láthatók, amelyek általában az aktuális függvény vagy metódus.

  1. Amíg a hibakereső szüneteltetve van, tekintse meg az Automatikus ablakot a kódszerkesztő alján.

    Ha az Automatikus ablak be van zárva, válassza a Ctrl+D, A, vagy válassza Hibakeresés>Windows>Automatikus lehetőséget a menüsávon.

  2. Amíg a hibakeresés szünetel, tekintse meg a Helyi változók ablakot az Automatikus változók ablak melletti fülön.

    Ha a Helyiek ablak be van zárva, válassza a Ctrl+D, L, vagy válassza Hibakeresés>Windows>Helyieklehetőséget.

  3. A Helyiek ablakban bontsa ki a letters változót a tömbelemek és azok értékeinek megtekintéséhez.

    Képernyőkép a Visual Studio 2022 Helyiek ablakáról, a

Az Automatikusés helyi beállítások ablakról további információt a változók vizsgálata és az értékek visszaadása című témakörben talál.

Óra beállítása

Megadhatja azt a változót vagy kifejezést, amelyet figyelni szeretne a kód végiglépése során, ha hozzáadja a Figyelő ablakhoz.

  1. Amíg a hibakereső szüneteltetve van, kattintson a jobb gombbal a name változóra, és válassza a Watch hozzáadásalehetőséget.

    A Figyelő ablak alapértelmezés szerint megnyílik a kódszerkesztő alján.

  2. Miután beállította az órát a name változón, lépkedjen végig a kódon, hogy az egyes name ciklus-iterációkban látható legyen a for változó változásának értéke.

    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.

A hívásverem vizsgálata

A Hívásverem segítségével megismerheti az alkalmazás végrehajtási folyamatát. Megjeleníti a metódusok és függvények meghívásának sorrendjét.

  1. Amíg a hibakereső szüneteltetve van a for ciklusban, tekintse meg a Hívásverem ablakot, amely alapértelmezés szerint megnyílik a kódszerkesztő jobb alsó ablaktábláján.

    Ha a Hívásverem ablak bezárult, válassza a Ctrl+D, C, vagy válassza Hibakeresés>Windows>Hívásverem lehetőséget a menüsávon.

    A Hívásverem ablakban az aktuális Main metódusnál látható a sárga mutató.

  2. Válassza F11 néhányszor, amíg meg nem jelenik a hibakereső szüneteltetése a SendMessage metódusban.

    A Hívásverem ablak felső sora az aktuális függvényt jeleníti meg, amely a SendMessage metódus. A második sor azt mutatja, hogy a SendMessage metódus a Main metódusból lett meghívva.

    Képernyőkép a Visual Studio 2022 Call Stack ablakáról.

    Jegyzet

    A Hívásverem ablak hasonló néhány IDE hibakeresési nézetéhez, például az Eclipse-hez.

    A Hívási verem ablakban duplán kattintva egy kódsorra, megnyithatja annak forráskódját, amely módosítja a hibakereső által vizsgált aktuális hatókört. A művelet nem viszi előre a hibakeresőt.

    A Hívási verem ablakban a jobb egérgombbal kattintva más műveleteket is elvégezhet. Beszúrhat például töréspontokat a megadott függvényekbe, előléptetheti a hibakeresőt a Futtatás a kurzorhozhasználatával, vagy a forráskódra léphet.

A hívásveremről további információt a hívásverem megtekintése című témakörben talál.

Következő lépés

Ebben az oktatóanyagban megtanulta, hogyan indíthatja el a hibakeresőt, hogyan haladhat á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.