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


Oktatóanyag: .NET konzolalkalmazás hibakeresése

Ez az oktatóanyag bemutatja a Visual Studio elérhető hibakeresési eszközöket.

Fontos

Az összes billentyűparancs a Visual Studio alapértelmezett értékén alapul. A billentyűparancsok eltérőek lehetnek, további információkért lásd Kulcstábla billentyűparancsait Visual Studio.

Ez az oktatóanyag bemutatja a Visual Studio Code .NET-alkalmazások használatához elérhető hibakeresési eszközöket.

Ez az oktatóanyag bemutatja a GitHub Codespace-ben elérhető hibakeresési eszközöket az .NET-alkalmazások használatához.

Előfeltételek

Ez az oktatóanyag azzal a konzolalkalmazással működik, amelyet a .NET konzolalkalmazás létrehozása során készítesz el.

Hibakeresési buildkonfiguráció használata

Debug és Release Visual Studio beépített buildkonfigurációi. A Debug buildkonfigurációt a hibakereséshez, míg a Release konfigurációt a végleges kiadási disztribúcióhoz használja.

A Debug konfigurációban a program teljes szimbolikus hibakeresési információt és optimalizálás nélkül fordít. Az optimalizálás bonyolítja a hibakeresést, mivel a forráskód és a létrehozott utasítások közötti kapcsolat összetettebb. A program kiadási konfigurációja nem tartalmaz szimbolikus hibakeresési információkat, és teljes mértékben optimalizálva van.

Alapértelmezés szerint Visual Studio a hibakeresési buildkonfigurációt használja, így a hibakeresés előtt nem kell módosítania.

  1. Indítsa el Visual Studio.

  2. Nyissa meg a Hozzon létre egy .NET konzolalkalmazást.

    Az aktuális buildkonfiguráció megjelenik az eszköztáron. Az alábbi eszköztárképen látható, hogy Visual Studio az alkalmazás hibakeresési verziójának fordítására van konfigurálva:

    Visual Studio eszköztár kiemelt hibakereséssel

Töréspont beállítása

Egy töréspont ideiglenesen megszakítja az alkalmazás végrehajtását, mielőtt a törésponttal rendelkező sor lefutna.

  1. Állítson be egy töréspontot azon a sorban, amely megjeleníti a nevet, a dátumot és az időt. Ehhez kattintson az adott sor kódablakának bal margójára. A bal margó a vonalszámoktól balra található. Más módszerek a töréspont beállítására: helyezze a kurzort a kódsorba, majd nyomja meg a(z) F9 billentyűt, vagy válassza a menüsávon a Hibakeresés>Töréspont átkapcsolása lehetőséget.

    Ahogy az alábbi képen látható, a Visual Studio a töréspont beállításának vonalát jelzi, kiemelve azt, és egy piros pontot jelenít meg a bal margón.

    Visual Studio Programablak töréspontkészlettel

  2. Nyomja le F5 a program hibakeresési módban való futtatásához. A hibakeresés elindításának egy másik módja, ha a menüből a Hibakeresés>Hibakeresés indítása lehetőséget választja.

  3. Írjon be egy sztringet a konzolablakba, amikor a program egy nevet kér, majd nyomja le Enterbillentyűt.

  4. A programvégrehajtás a töréspont elérésekor és a Console.WriteLine metódus végrehajtása előtt leáll. A Helyiek ablak az aktuális végrehajtási metódusban definiált változók értékeit jeleníti meg.

    A Visual Studio töréspontjának képernyőképe

  1. Indítsa el a Visual Studio Code.

  2. Nyissa meg a Hozzon létre egy .NET konzolalkalmazást.

  3. Nyissa meg a Program.cs fájlt.

  4. Állítson be egy töréspontot azon a sorban, amely megjeleníti a nevet, a dátumot és az időt a kódablak bal margójára kattintva. A bal margó a vonalszámoktól balra található. További módok a töréspont beállítására: nyomja meg a F9 billentyűt, vagy válassza a Run>Toggle Breakpoint lehetőséget a menüből, miközben a kódsor ki van jelölve.

    Visual Studio Code azt a vonalat jelzi, amelyen a töréspont be van állítva egy piros ponttal a bal margón.

    töréspont beállítva

  1. Nyissa meg a Hozzon létre egy .NET konzolalkalmazást.

  2. Nyissa meg a HelloWorld.cs fájlt.

  3. Állítson be egy töréspontot azon a sorban, amely megjeleníti a nevet, a dátumot és az időt a kódablak bal margójára kattintva. A bal margó a vonalszámoktól balra található. Töréspontot is beállíthat az F9 billentyű lenyomásával, amíg a kódsor ki van jelölve.

    töréspont beállítva

Hibakeresés indítása

A program végrehajtása leáll, amikor eléri a töréspontot az előző szakaszban leírtak szerint. A Helyiek ablak az aktuális végrehajtási metódusban definiált változók értékeit jeleníti meg.

Debug és Release .NET beépített buildkonfigurációi. A Debug buildkonfigurációt a hibakereséshez, míg a Release konfigurációt a végleges kiadási disztribúcióhoz használja.

Alapértelmezés szerint Visual Studio Code indítási beállítások a hibakeresési buildkonfigurációt használják, így a hibakeresés előtt nem kell módosítania.

  1. Nyissa meg a Hibakeresés nézetet a bal oldali menü Hibakeresés ikonjának kiválasztásával.

    Open the Debug tab in Visual Studio Code

  2. Válassza Futtatás és hibakereséslehetőséget. Ha a rendszer kéri, válassza C#, majd válassza C#: Indítási projekt futtatásalehetőséget. A program hibakeresési módban való indításának egyéb módjai a F5 lenyomásával vagy a Futtatás>Hibakeresés indítása menüből való kiválasztásával.

    Hibakeresés indítása

  3. Ha a Rendszerindítási konfiguráció kiválasztására van szükség, válassza a C#: Hibakeresés aktív fájlt.

  4. Válassza a Hibakeresési konzol lapot a "Mi a neve?" üzenet megjelenítéséhez, amelyet a program a válaszra való várakozás előtt jelenít meg.

    Válaszd ki a Hibakeresési konzol fület

  5. Írjon be egy karakterláncot a Hibakeresési konzol ablakába a név megadására vonatkozó kérdésre válaszul, majd nyomja meg az Enterbillentyűt.

    A programvégrehajtás a töréspont elérésekor és a Console.WriteLine metódus futtatása előtt leáll. A Változók ablak Helyiek szakasza megjeleníti a jelenleg futó metódusban definiált változók értékeit.

    Töréspont elérve, a helyi változók megjelenése

Alapértelmezés szerint GitHub kódterek a hibakeresési buildkonfigurációt használják, így a hibakeresés előtt nem kell módosítania.

  1. Nyissa meg a Hibakeresés nézetet a bal oldali menü Hibakeresés ikonjának kiválasztásával.

    Open the Debug tab in Visual Studio Code

  2. Válassza Futtatás és hibakereséslehetőséget. Ha a rendszer kéri, válassza a C# elemet hibakeresőként, majd válassza a C#: Active File hibakeresése indítási konfigurációként lehetőséget.

  3. Válassza a Hibakeresési konzol lapot a "Mi a neve?" üzenet megjelenítéséhez, amelyet a program a válaszra való várakozás előtt jelenít meg.

  4. Írjon be egy karakterláncot a Hibakeresési konzol ablakába a név megadására vonatkozó kérdésre válaszul, majd nyomja meg az Enterbillentyűt.

    A programvégrehajtás a töréspont elérésekor és a Console.WriteLine metódus futtatása előtt leáll. A Változók ablak Helyiek szakasza megjeleníti a jelenleg futó metódusban definiált változók értékeit.

    Töréspont elérve, a helyi változók megjelenése

Az Azonnali ablak használata

Az Azonnali ablak lehetővé teszi, hogy kapcsolatba lépjen a hibakeresett alkalmazással. Interaktív módon módosíthatja a változók értékét, hogy lássa, hogyan befolyásolja a programját.

  1. Ha a Immediate ablak nem látható, akkor a Debug>Windows>Immediate lehetőséget választva jelenítheti meg.

  2. Írja be name = "Gracie" az Azonnali ablakban, és nyomja le az Enter billentyűt.

  3. Írja be currentDate = DateTime.Parse("2026-02-05T20:25:00Z").ToUniversalTime() az Azonnali ablakban, és nyomja le az Enter billentyűt.

    Az Azonnali ablak megjeleníti a sztringváltozó értékét és a DateTime érték tulajdonságait. Emellett a változók értékei is frissülnek a Helyiek ablakban.

    Helyi változók és Azonnali ablak Visual Studio

  4. A program végrehajtásának folytatásához nyomja le F5. A folytatás másik módja, ha a menüből a Hibakeresési> folytatást választjuk.

    A konzolablakban megjelenített értékek megfelelnek az Azonnali ablakban végrehajtott módosításoknak.

  5. Nyomja le bármelyik billentyűt az alkalmazásból való kilépéshez és a hibakeresés leállításához.

A hibakeresési konzol használata

A Hibakeresési konzol ablak lehetővé teszi a hibakeresési alkalmazás használatát. Módosíthatja a változók értékét, hogy lássa, hogyan befolyásolja a programját.

  1. Válassza a Hibakeresési konzol lapot.

  2. Írja be a name = "Gracie" a Hibakeresési konzol ablak alján található parancssorba, és nyomja le Enterbillentyűt.

    Változóértékek módosítása

  3. Írja be currentDate = DateTime.Parse("2026-01-28T20:54:00Z").ToUniversalTime() a Hibakeresési konzol ablakának alján, és nyomja le Enterbillentyűt.

    A Változók ablak megjeleníti a name és currentDate változók új értékeit.

  4. A program végrehajtásának folytatásához kattintson az eszköztár Folytatás gombjára. A folytatás másik módja, ha lenyomjuk az F5billentyűket.

    Hibakeresés folytatása

    A konzolablakban megjelenített értékek megfelelnek azoknak a módosításoknak, amelyeket a hibakeresési konzolkészítettél.

    Terminál, amely megjeleníti a megadott értékeket

  5. Nyomja le az Enter billentyűt az alkalmazásból való kilépéshez és a hibakeresés leállításához.

Feltételes töréspont beállítása

A program megjeleníti a felhasználó által beírt sztringet. Mi történik, ha a felhasználó nem ad meg semmit? Ezt egy feltételes töréspontnevű hasznos hibakeresési funkcióval tesztelheti.

  1. Kattintson a jobb gombbal a töréspontot jelképező piros pontra. A helyi menüben válassza a Feltételek lehetőséget a Töréspont beállításai párbeszédpanel megnyitásához. Jelölje be a Feltételek jelölőnégyzetet, ha még nincs kijelölve.

    Szerkesztő, amely a töréspont beállításai panelt mutatja – C#

  2. A feltételes kifejezéshez írja be a következő kódot a szövegmezőbe.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    A töréspont minden egyes találatakor a hibakereső meghívja a String.IsNullOrWhiteSpace(name) metódust, és csak akkor áll meg itt, ha a metódushívás true-et ad vissza.

    Feltételes kifejezés helyett megadhat egy találatok számát, amely megszakítja a program végrehajtását, mielőtt egy utasítás végrehajtása meghatározott számú alkalommal történik. Egy másik lehetőség egy szűrőfeltételmegadása, amely megszakítja a program végrehajtását olyan attribútumok alapján, mint a szálazonosító, a folyamat neve vagy a szál neve.

  3. A párbeszédpanel bezárásához válassza a bezárása lehetőséget.

  4. Indítsa el a programot hibakereséssel F5lenyomásával.

  5. A konzolablakban nyomja le az Enter billentyűt, amikor a rendszer kéri, hogy adja meg a nevét.

  6. Mivel a megadott feltétel (name vagy null vagy String.Empty) teljesült, a programvégrehajtás leáll, amikor eléri a töréspontot, és a Console.WriteLine metódus végrehajtása előtt.

  7. Válassza ki a Helyiek ablakot, amely az aktuális végrehajtási módszer helyi változóinak értékeit jeleníti meg. Ebben az esetben a Main az aktuális végrehajtási módszer. Figyelje meg, hogy a name változó értéke ""vagy String.Empty.

  8. Ellenőrizze, hogy az érték üres karakterlánc-e a következő utasítás beírásával az azonnali ablakba, majd nyomja meg az Enterbillentyűt. Az eredmény: true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    A kérdőjel az azonnali ablakot irányítja kifejezés kiértékelésére.

    Azonnali ablak, amely igaz értéket ad vissza az utasítás végrehajtása után – C#

  9. A program végrehajtásának folytatásához nyomja le F5.

  10. A konzolablak bezárásához és a hibakeresés leállításához nyomja le bármelyik billentyűt.

  11. Törölje a töréspontot a kódablak bal margóján lévő pontra kattintva. A töréspont törlésének egyéb módjai a F9 gomb megnyomásával vagy a "Debug > Töréspont átkapcsolása" kiválasztásával, miközben a kódsor ki van jelölve.

  1. Kattintson a jobb gombbal (macOS-enCtrl-kattintással) a töréspontot jelképező piros pontra. A helyi menüben válassza a Töréspont szerkesztése lehetőséget, hogy megnyisson egy párbeszédpanelt, amely lehetővé teszi egy feltételes kifejezés megadását.

    Töréspont helyi menü

  2. Válassza ki a Expression a legördülő listában, írja be a következő feltételes kifejezést, majd nyomja le Enterbillentyűt.

    String.IsNullOrEmpty(name)
    

    Feltételes kifejezés megadása

    A töréspont minden egyes találatakor a hibakereső meghívja a String.IsNullOrEmpty(name) metódust, és csak akkor áll meg itt, ha a metódushívás true-et ad vissza.

    Feltételes kifejezés helyett megadhat egy találatszámot, amely megszakítja a program végrehajtását, mielőtt egy utasítás meghatározott számú alkalommal lefutna. Egy másik lehetőség egy szűrőfeltételmegadása, amely megszakítja a program végrehajtását olyan attribútumok alapján, mint a szálazonosító, a folyamat neve vagy a szál neve.

  3. Indítsa el a programot hibakereséssel F5lenyomásával.

  4. A Hibakeresési konzol lapon nyomja le az Enter billentyűt, amikor a rendszer kéri a saját nevének megadását.

    Mivel a megadott feltétel (namenull vagy String.Empty) teljesült, a program végrehajtása leáll, amikor eléri a töréspontot, és a Console.WriteLine metódus futtatása előtt leáll.

    A Változók ablak azt mutatja, hogy a name változó értéke ""vagy String.Empty.

  5. Ellenőrizze, hogy az érték üres karakterlánc-e. Ehhez írja be a következő utasítást a Hibakeresési konzol parancssorába, majd nyomja le az Enterbillentyűt. Az eredmény: true.

    name == String.Empty
    
  6. A program végrehajtásának folytatásához kattintson az eszköztár Folytatás gombjára.

  7. A programból való kilépéshez és a hibakeresés leállításához nyomja le az Enter billentyűt.

  8. Törölje a töréspontot a kódablak bal margóján lévő pontra kattintva. Más módja a töréspont ki- vagy bekapcsolásának a F9 billentyűk lenyomása, illetve a menüből a Futtatás > Töréspont be-/kikapcsolása elem kiválasztása, miközben a kódsor ki van jelölve.

  9. Ha figyelmeztetést kap arról, hogy a töréspont állapota elvész, válassza a Töréspont eltávolításalehetőséget.

Végiglépegetés egy programon

Visual Studio lehetővé teszi, hogy sorról sorra haladjon végig egy programon, és figyelje annak végrehajtását. Rendszerint beállítasz egy töréspontot, és követed a program vezérlésének menetét a programkód egy kis részén. Mivel ez a program kicsi, végiglépkedhet a teljes programon.

  1. Állítson be egy töréspontot a kódsoron, amely megjeleníti a "Mi a neve?" kérdést.

  2. Válassza a Hibakeresés>Belelépéslehetőséget. Egy utasítás hibakeresésének másik módja az F11lenyomása.

    Visual Studio a következő végrehajtási sor mellett egy nyilat emel ki és jelenít meg.

    Visual Studio belépés metódusba – C#

    Ekkor a Helyiek ablak azt mutatja, hogy a args tömb üres, és name és currentDate alapértelmezett értékekkel rendelkeznek. Ezenkívül Visual Studio megnyitott egy üres konzolablakot.

  3. Nyomja le az F11 billentyűt. Visual Studio kiemeli a name változó hozzárendelését tartalmazó utasítást. A Helyiek ablakban látható, hogy namenull, a konzolablakban pedig a "Mi a neved?" karakterlánc jelenik meg.

  4. Válaszoljon az utasításra egy karaktersor beírásával a konzolablakban, és nyomja le Enter. A konzol nem válaszol, és a megadott sztring nem jelenik meg a konzolablakban, de a Console.ReadLine metódus mégis rögzíti a bemenetet.

  5. Nyomja le az F11 billentyűt. Visual Studio kiemeli a currentDate változó hozzárendelését tartalmazó utasítást. A Helyiek ablakban a Console.ReadLine metódus hívása által visszaadott érték látható. A konzolablakban a parancssorban megadott sztring is megjelenik.

  6. Nyomja le az F11 billentyűt. A Helyiek ablakban a currentDate változó értéke látható a DateTime.Now tulajdonság hozzárendelése után. A konzolablak nem változik.

  7. Nyomja le az F11 billentyűt. Visual Studio meghívja a Console.WriteLine(String, Object, Object) metódust. A konzolablakban megjelenik a formázott szöveg.

  8. Válassza a Hibakeresés>Kilépéslehetőséget. Egy másik módszer a lépésenkénti végrehajtás leállítására a Shift+F11billentyűk lenyomása.

    A konzolablakban megjelenik egy üzenet, és megvárja, amíg lenyom egy billentyűt.

  9. A konzolablak bezárásához és a hibakeresés leállításához nyomja le bármelyik billentyűt.

Visual Studio Code lehetővé teszi, hogy sorról sorra haladjon végig egy programon, és figyelje annak végrehajtását. Rendszerint beállítasz egy töréspontot, és követed a program vezérlésének menetét a programkód egy kis részén. Mivel ez a program kicsi, végiglépkedhet a teljes programon.

  1. Állítson be egy töréspontot a kódsoron, amely megjeleníti a "Mi a neve?" kérdést.

  2. A hibakeresés megkezdéséhez nyomja le az F5 billentyűt.

    Visual Studio Code kiemeli a töréspontvonalat.

    Ekkor a Változók ablak azt mutatja, hogy a args tömb üres, és name és currentDate alapértelmezett értékekkel rendelkeznek.

  3. Válassza a Belelépés lehetőséget a hibakereső eszköztáron, vagy nyomja le az F11 billentyűt.

    Step-Into gomb

    Visual Studio Code kiemeli a következő sort.

  4. Visual Studio Code futtatja a név kéréshez tartozó Console.WriteLine-t, és kiemeli a következő végrehajtási sort. A következő sor a Console.ReadLine-hez tartozó name. A változók ablaka nem változik, és a Terminál lapon megjelenik a "Mi a neve?" kérdés.

  5. Válassza a Belelépés lehetőséget, vagy nyomja le az F11 billentyűt.

    Visual Studio Code kiemeli a name változó-hozzárendelést. A Változók ablakban látható, hogy a name még mindig null.

  6. Válaszoljon a kérdésre, ha beír egy sztringet a Terminál lapra, és nyomja le Enter.

    Előfordulhat, hogy a Hibakeresési konzol lapon nem jelenik meg a beírt sztring, de a Console.ReadLine metódus rögzíti a bemenetet.

  7. Válassza a Belelépés lehetőséget, vagy nyomja le az F11 billentyűt.

    Visual Studio Code kiemeli a currentDate változó-hozzárendelést. A Változók ablak a Console.ReadLine metódus hívása által visszaadott értéket jeleníti meg. A Terminál lapon megjelenik a parancssorban megadott karakterlánc.

  8. Válassza a Belelépés lehetőséget, vagy nyomja le az F11 billentyűt.

    A Változók ablak a currentDate változó értékét jeleníti meg a DateTime.Now tulajdonság hozzárendelése után.

  9. Válassza a Belelépés lehetőséget, vagy nyomja le az F11 billentyűt.

    Visual Studio Code meghívja a Console.WriteLine(String, Object, Object) metódust. A konzolablakban megjelenik a formázott szöveg.

  10. Válassza a Kilépés lehetőséget, vagy nyomja le a Shift+F11 billentyűkombinációt.

    Step-Out gomb

    A terminálon megjelenik a "Bármely billentyű lenyomása a kilépéshez..."

  11. Nyomja le bármelyik billentyűt a programból való kilépéshez.

A kiadás build konfiguráció használata

Miután tesztelte az alkalmazás hibakeresési verzióját, a kiadás verzióját is le kell fordítania és tesztelnie. A kiadási verzió olyan fordítóoptimalizálásokat tartalmaz, amelyek néha negatívan befolyásolhatják az alkalmazások viselkedését. A teljesítmény javítására tervezett fordítóoptimalizálások például versenyfeltételeket hozhatnak létre többszálú alkalmazásokban.

A konzolalkalmazás kiadási verziójának létrehozásához és teszteléséhez módosítsa az eszköztár build konfigurációját Hibakeresési beállításról verzióra Kiadási beállításra.

default Visual Studio eszköztár kiemelt kiadással

A F5-öt megnyomva vagy a Build menüben a Build Solution lehetőséget választva, a Visual Studio lefordítja az alkalmazás kiadási verzióját. A hibakeresési verzióval megegyezően tesztelheti.

A konzolalkalmazás kiadási verziójának létrehozásához és teszteléséhez nyissa meg a Terminál, és futtassa a következő parancsot:

dotnet run --configuration Release

A konzolalkalmazás kiadási verziójának létrehozásához és teszteléséhez futtassa a következő parancsot a terminálon:

dotnet run --configuration Release HelloWorld.cs

Következő lépések

Ebben az oktatóanyagban hibakeresési eszközöket használt. A következő oktatóanyagban közzéteszi az alkalmazás üzembe helyezhető verzióját.