Oktatóanyag: .NET-konzolalkalmazás hibakeresése a Visual Studióval

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

Fontos

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

Előfeltételek

  • Ez az oktatóanyag a .NET-konzolalkalmazás létrehozása a Visual Studióval létrehozott konzolalkalmazással működik.

Hibakeresési buildkonfiguráció használata

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

A hibakeresési konfigurációban a program teljes szimbolikus hibakeresési információkkal é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.

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

  1. Indítsa el a Visual Studiót.

  2. Nyissa meg a .NET-konzolalkalmazás létrehozása a Visual Studióval létrehozott projektet.

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

    Visual Studio toolbar with debug highlighted

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

A töréspont ideiglenesen megszakítja az alkalmazás végrehajtását, mielőtt a töréspontot tartalmazó sor végrehajtása befejeződik.

  1. Állítson be egy töréspontot a sorban, amely megjeleníti a nevet, a dátumot és az időt, ha a vonal kódablakának bal margójára kattint. A bal margó a vonalszámoktól balra található. A töréspontok beállításának egyéb módjai a kurzor kódsorba helyezésével, majd az F9 billentyű lenyomásával vagy a töréspont hibakeresésének>kiválasztásával a menüsávon.

    Ahogy az alábbi képen látható, a Visual Studio a töréspont beállításának vonalát jelzi a kiemeléssel és egy piros pont megjelenítésével a bal margón.

    Visual Studio Program window with breakpoint set

  2. Nyomja le az F5 billentyűt a program hibakeresési módban való futtatásához. A hibakeresés indításának másik módja a hibakeresési>start hibakeresés a menüből való kiválasztásával.

  3. Írjon be egy sztringet a konzolablakba, amikor a program egy nevet kér, majd nyomja le az Enter billentyű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.

    Screenshot of a breakpoint in Visual Studio

Az Azonnali ablak használata

Az Azonnali ablakban kezelheti a hibakereső alkalmazást. 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 az Azonnali ablak nem látható, akkor a Windows>Azonnali hibakeresése>lehetőséget választva jelenítse meg.

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

  3. Írja be currentDate = DateTime.Parse("2019-11-16T17: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 az DateTime érték tulajdonságait. Emellett a változók értékei is frissülnek a Helyiek ablakban.

    Locals and Immediate Windows in Visual Studio 2019

  4. Nyomja le az F5 billentyűt a program végrehajtásának folytatásához. A folytatás másik módja, ha a MenüBen a Folytatás hibakeresése>lehetőséget választja.

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

    Console window showing the entered values

  5. Nyomja le bármelyik 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éspontnak nevezett 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.

    Editor showing breakpoint settings panel - C#

  2. A feltételes kifejezéshez írja be a következő kódot a mezőbe, amely az 5-öt tesztelő példakódot jeleníti megx.

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

    A töréspont minden egyes találatakor a hibakereső meghívja a String.IsNullOrEmpty(name) metódust, és csak akkor törik meg ezen a sorban, ha a metódushívás visszatér true.

    Feltételes kifejezés helyett megadhat egy találatszámot, amely megszakítja a program végrehajtását, mielőtt egy utasítást meghatározott számú alkalommal hajtanak végre. Egy másik lehetőség egy szűrőfeltétel megadá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. Kattintson a Bezárás gombra a párbeszédpanel bezárásához.

  4. Indítsa el a programot hibakereséssel az F5 billentyű lenyomá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 (name vagy nullString.Empty) feltétel teljesült, a program végrehajtása 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 Main ez az aktuális végrehajtási módszer. Figyelje meg, hogy a name változó ""értéke vagy String.Empty.

  8. Győződjön meg arról, hogy az érték egy üres sztring. Ehhez írja be az alábbi utasítást az Azonnali ablakban, és nyomja le az Enter billentyűt. Az eredmény: true.

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

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

    Immediate Window returning a value of true after the statement is executed - C#

  9. Nyomja le az F5 billentyűt a program végrehajtásának folytatásához.

  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éspontok törlésének további módjai az F9 billentyű lenyomásával vagy a Töréspont hibakeresési > kapcsolójának kiválasztásával, miközben a kódsor ki van jelölve.

Lépés egy programon

A Visual Studio lehetővé teszi, hogy sorról sorra haladjon végig egy programon, és figyelje annak végrehajtását. Általában be kell állítania egy töréspontot, és követnie kell a programfolyamatot a programkód egy kis részén. Mivel ez a program kicsi, végiglépkedhet a teljes programon.

  1. Válassza a Hibakeresési>lépés lehetőséget. Egy utasítás hibakeresésének másik módja az F11 billentyű lenyomása.

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

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    Ekkor a Helyiek ablak azt mutatja, hogy a args tömb üres, és namecurrentDate alapértelmezett értékekkel rendelkezik. Emellett a Visual Studio megnyitott egy üres konzolablakot.

  2. Nyomja le az F11 billentyűt. A Visual Studio most kiemeli a következő végrehajtási sort. A Helyiek ablak nem változik, és a konzolablak üres marad.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Nyomja le az F11 billentyűt. A Visual Studio kiemeli a változó-hozzárendelést tartalmazó utasítást name . A Helyiek ablakban ez látható namenull, és a konzolablakban megjelenik a "Mi a neve?" sztring.

  4. Válaszoljon a kérdésre úgy, hogy beír egy sztringet a konzolablakba, és lenyomja az Enter billentyűt. A konzol nem válaszol, és a megadott sztring nem jelenik meg a konzolablakban, de a Console.ReadLine metódus ennek ellenére rögzíti a bemenetet.

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

  6. Nyomja le az F11 billentyűt. A Helyiek ablak a tulajdonság hozzárendelése currentDate után a változó értékét jeleníti meg DateTime.Now . A konzolablak nem változik.

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

  8. Válassza a Hibakeresési>lépés lehetőséget. A lépésenkénti végrehajtás leállításának másik módja a Shift+F11 billentyű 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.

Kiadás buildkonfigurációjának 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 buildkonfigurációját Hibakeresésről Kiadásra.

default Visual Studio toolbar with release highlighted

Ha lenyomja az F5 billentyűt, vagy a Build menüBen a Build Megoldás lehetőséget választja, a Visual Studio lefordítja az alkalmazás kiadási verzióját. A hibakeresési verzióval megegyezően tesztelheti.

Következő lépések

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

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

Fontos

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

Előfeltételek

  • Ez az oktatóanyag a .NET-konzolalkalmazás létrehozása a Visual Studióval létrehozott konzolalkalmazással működik.

Hibakeresési buildkonfiguráció használata

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

A hibakeresési konfigurációban a program teljes szimbolikus hibakeresési információkkal é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.

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

  1. Indítsa el a Visual Studiót.

  2. Nyissa meg a .NET-konzolalkalmazás létrehozása a Visual Studióval létrehozott projektet.

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

    Visual Studio toolbar with debug highlighted

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

A töréspont ideiglenesen megszakítja az alkalmazás végrehajtását, mielőtt a töréspontot tartalmazó sor végrehajtása befejeződik.

  1. Állítson be egy töréspontot a sorban, amely megjeleníti a nevet, a dátumot és az időt, ha a vonal kódablakának bal margójára kattint. A bal margó a vonalszámoktól balra található. A töréspontok beállításának egyéb módjai a kurzor kódsorba helyezésével, majd az F9 billentyű lenyomásával vagy a töréspont hibakeresésének>kiválasztásával a menüsávon.

    Ahogy az alábbi képen látható, a Visual Studio a töréspont beállításának vonalát jelzi a kiemeléssel és egy piros pont megjelenítésével a bal margón.

    Visual Studio Program window with breakpoint set

  2. Nyomja le az F5 billentyűt a program hibakeresési módban való futtatásához. A hibakeresés indításának másik módja a hibakeresési>start hibakeresés a menüből való kiválasztásával.

  3. Írjon be egy sztringet a konzolablakba, amikor a program egy nevet kér, majd nyomja le az Enter billentyű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.

    Screenshot of a breakpoint in Visual Studio

Az Azonnali ablak használata

Az Azonnali ablakban kezelheti a hibakereső alkalmazást. 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 az Azonnali ablak nem látható, akkor a Windows>Azonnali hibakeresése>lehetőséget választva jelenítse meg.

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

  3. Írja be currentDate = DateTime.Parse("2019-11-16T17: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 az DateTime érték tulajdonságait. Emellett a változók értékei is frissülnek a Helyiek ablakban.

    Locals and Immediate Windows in Visual Studio 2019

  4. Nyomja le az F5 billentyűt a program végrehajtásának folytatásához. A folytatás másik módja, ha a MenüBen a Folytatás hibakeresése>lehetőséget választja.

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

    Console window showing the entered values

  5. Nyomja le bármelyik 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éspontnak nevezett 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.

    Editor showing breakpoint settings panel - C#

  2. A feltételes kifejezéshez írja be a következő kódot a mezőbe, amely az 5-öt tesztelő példakódot jeleníti megx.

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

    A töréspont minden egyes találatakor a hibakereső meghívja a String.IsNullOrEmpty(name) metódust, és csak akkor törik meg ezen a sorban, ha a metódushívás visszatér true.

    Feltételes kifejezés helyett megadhat egy találatszámot, amely megszakítja a program végrehajtását, mielőtt egy utasítást meghatározott számú alkalommal hajtanak végre. Egy másik lehetőség egy szűrőfeltétel megadá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. Kattintson a Bezárás gombra a párbeszédpanel bezárásához.

  4. Indítsa el a programot hibakereséssel az F5 billentyű lenyomá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 (name vagy nullString.Empty) feltétel teljesült, a program végrehajtása 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 Main ez az aktuális végrehajtási módszer. Figyelje meg, hogy a name változó ""értéke vagy String.Empty.

  8. Győződjön meg arról, hogy az érték egy üres sztring. Ehhez írja be az alábbi utasítást az Azonnali ablakban, és nyomja le az Enter billentyűt. Az eredmény: true.

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

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

    Immediate Window returning a value of true after the statement is executed - C#

  9. Nyomja le az F5 billentyűt a program végrehajtásának folytatásához.

  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éspontok törlésének további módjai az F9 billentyű lenyomásával vagy a Töréspont hibakeresési > kapcsolójának kiválasztásával, miközben a kódsor ki van jelölve.

Lépés egy programon

A Visual Studio lehetővé teszi, hogy sorról sorra haladjon végig egy programon, és figyelje annak végrehajtását. Általában be kell állítania egy töréspontot, és követnie kell a programfolyamatot a programkód egy kis részén. Mivel ez a program kicsi, végiglépkedhet a teljes programon.

  1. Válassza a Hibakeresési>lépés lehetőséget. Egy utasítás hibakeresésének másik módja az F11 billentyű lenyomása.

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

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    Ekkor a Helyiek ablak azt mutatja, hogy a args tömb üres, és namecurrentDate alapértelmezett értékekkel rendelkezik. Emellett a Visual Studio megnyitott egy üres konzolablakot.

  2. Nyomja le az F11 billentyűt. A Visual Studio most kiemeli a következő végrehajtási sort. A Helyiek ablak nem változik, és a konzolablak üres marad.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Nyomja le az F11 billentyűt. A Visual Studio kiemeli a változó-hozzárendelést tartalmazó utasítást name . A Helyiek ablakban ez látható namenull, és a konzolablakban megjelenik a "Mi a neve?" sztring.

  4. Válaszoljon a kérdésre úgy, hogy beír egy sztringet a konzolablakba, és lenyomja az Enter billentyűt. A konzol nem válaszol, és a megadott sztring nem jelenik meg a konzolablakban, de a Console.ReadLine metódus ennek ellenére rögzíti a bemenetet.

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

  6. Nyomja le az F11 billentyűt. A Helyiek ablak a tulajdonság hozzárendelése currentDate után a változó értékét jeleníti meg DateTime.Now . A konzolablak nem változik.

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

  8. Válassza a Hibakeresési>lépés lehetőséget. A lépésenkénti végrehajtás leállításának másik módja a Shift+F11 billentyű 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.

Kiadás buildkonfigurációjának 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 buildkonfigurációját Hibakeresésről Kiadásra.

default Visual Studio toolbar with release highlighted

Ha lenyomja az F5 billentyűt, vagy a Build menüBen a Build Megoldás lehetőséget választja, a Visual Studio lefordítja az alkalmazás kiadási verzióját. A hibakeresési verzióval megegyezően tesztelheti.

Következő lépések

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

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

Előfeltételek

  • Ez az oktatóanyag a .NET-konzolalkalmazás létrehozása a Visual Studióval létrehozott konzolalkalmazással működik.

Hibakeresési buildkonfiguráció használata

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

A hibakeresési konfigurációban a program teljes szimbolikus hibakeresési információkkal é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.

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

  1. Indítsa el a Visual Studiót.

  2. Nyissa meg a .NET-konzolalkalmazás létrehozása a Visual Studióval létrehozott projektet.

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

    Visual Studio toolbar with debug highlighted

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

A töréspont ideiglenesen megszakítja az alkalmazás végrehajtását, mielőtt a töréspontot tartalmazó sor végrehajtása befejeződik.

  1. Állítson be egy töréspontot a sorban, amely megjeleníti a nevet, a dátumot és az időt, ha a vonal kódablakának bal margójára kattint. A bal margó a vonalszámoktól balra található. A töréspontok beállításának egyéb módjai a kurzor kódsorba helyezésével, majd az F9 billentyű lenyomásával vagy a töréspont hibakeresésének>kiválasztásával a menüsávon.

    Ahogy az alábbi képen látható, a Visual Studio a töréspont beállításának vonalát jelzi a kiemeléssel és egy piros pont megjelenítésével a bal margón.

    Visual Studio Program window with breakpoint set

  2. Nyomja le az F5 billentyűt a program hibakeresési módban való futtatásához. A hibakeresés indításának másik módja a hibakeresési>start hibakeresés a menüből való kiválasztásával.

  3. Írjon be egy sztringet a konzolablakba, amikor a program egy nevet kér, majd nyomja le az Enter billentyű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.

    Screenshot of a breakpoint in Visual Studio

Az Azonnali ablak használata

Az Azonnali ablakban kezelheti a hibakereső alkalmazást. 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 az Azonnali ablak nem látható, akkor a Windows>Azonnali hibakeresése>lehetőséget választva jelenítse meg.

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

  3. Írja be currentDate = DateTime.Parse("2019-11-16T17: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 az DateTime érték tulajdonságait. Emellett a változók értékei is frissülnek a Helyiek ablakban.

    Locals and Immediate Windows in Visual Studio 2019

  4. Nyomja le az F5 billentyűt a program végrehajtásának folytatásához. A folytatás másik módja, ha a MenüBen a Folytatás hibakeresése>lehetőséget választja.

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

    Console window showing the entered values

  5. Nyomja le bármelyik 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éspontnak nevezett 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.

    Editor showing breakpoint settings panel - C#

  2. A feltételes kifejezéshez írja be a következő kódot a mezőbe, amely az 5-öt tesztelő példakódot jeleníti megx.

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

    A töréspont minden egyes találatakor a hibakereső meghívja a String.IsNullOrEmpty(name) metódust, és csak akkor törik meg ezen a sorban, ha a metódushívás visszatér true.

    Feltételes kifejezés helyett megadhat egy találatszámot, amely megszakítja a program végrehajtását, mielőtt egy utasítást meghatározott számú alkalommal hajtanak végre. Egy másik lehetőség egy szűrőfeltétel megadá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. Kattintson a Bezárás gombra a párbeszédpanel bezárásához.

  4. Indítsa el a programot hibakereséssel az F5 billentyű lenyomá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 (name vagy nullString.Empty) feltétel teljesült, a program végrehajtása 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 Main ez az aktuális végrehajtási módszer. Figyelje meg, hogy a name változó ""értéke vagy String.Empty.

  8. Győződjön meg arról, hogy az érték egy üres sztring. Ehhez írja be az alábbi utasítást az Azonnali ablakban, és nyomja le az Enter billentyűt. Az eredmény: true.

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

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

    Immediate Window returning a value of true after the statement is executed - C#

  9. Nyomja le az F5 billentyűt a program végrehajtásának folytatásához.

  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éspontok törlésének további módjai az F9 billentyű lenyomásával vagy a Töréspont hibakeresési > kapcsolójának kiválasztásával, miközben a kódsor ki van jelölve.

Lépés egy programon

A Visual Studio lehetővé teszi, hogy sorról sorra haladjon végig egy programon, és figyelje annak végrehajtását. Általában be kell állítania egy töréspontot, és követnie kell a programfolyamatot a programkód egy kis részén. Mivel ez a program kicsi, végiglépkedhet a teljes programon. A hibakeresés jelenleg nem történik meg, és a fókusz a Visual Studióra kerül:

  1. Válassza a Hibakeresési>lépés lehetőséget. Egy utasítás hibakeresésének másik módja az F11 billentyű lenyomása.

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

    C#

    Visual Studio step into method - C#

    Visual Basic

    Visual Studio step into method - Visual Basic

    Ekkor a Helyiek ablak azt mutatja, hogy a args tömb üres, és namecurrentDate alapértelmezett értékekkel rendelkezik. Emellett a Visual Studio megnyitott egy üres konzolablakot.

  2. Nyomja le az F11 billentyűt. A Visual Studio most kiemeli a következő végrehajtási sort. A Helyiek ablak nem változik, és a konzolablak üres marad.

    C#

    Visual Studio step in method source - C#

    Visual Basic

    Visual Studio step into method source - Visual Basic

  3. Nyomja le az F11 billentyűt. A Visual Studio kiemeli a változó-hozzárendelést tartalmazó utasítást name . A Helyiek ablakban ez látható namenull, és a konzolablakban megjelenik a "Mi a neve?" sztring.

  4. Válaszoljon a kérdésre úgy, hogy beír egy sztringet a konzolablakba, és lenyomja az Enter billentyűt. A konzol nem válaszol, és a megadott sztring nem jelenik meg a konzolablakban, de a Console.ReadLine metódus ennek ellenére rögzíti a bemenetet.

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

  6. Nyomja le az F11 billentyűt. A Helyiek ablak a tulajdonság hozzárendelése currentDate után a változó értékét jeleníti meg DateTime.Now . A konzolablak nem változik.

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

  8. Válassza a Hibakeresési>lépés lehetőséget. A lépésenkénti végrehajtás leállításának másik módja a Shift+F11 billentyű 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.

Kiadás buildkonfigurációjának 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 buildkonfigurációját Hibakeresésről Kiadásra.

default Visual Studio toolbar with release highlighted

Ha lenyomja az F5 billentyűt, vagy a Build menüBen a Build Megoldás lehetőséget választja, a Visual Studio lefordítja az alkalmazás kiadási verzióját. A hibakeresési verzióval megegyezően tesztelheti.

Következő lépések

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