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


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 Visual Studiobillentyűparancsait.

Előfeltételek

Ez az oktatóanyag a Visual Studiohasználatával létrehozott .NET konzolalkalmazással működik.

Hibakeresési buildkonfiguráció használata

Debug és Release a 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.

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 azt a projektet, amelyet a lépésben a Visual Studiohasználatával .NET konzolalkalmazásként hozott létre.

    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 eszköztárán kiemelve a hibakeresés

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éspontot tartalmazó sor végrehajtása befejeződik.

  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 a kiemeléssel és egy piros pont megjelenítésével a bal margón.

    Visual Studio Program ablak 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.

    Töréspont képernyőképe a Visual Studio

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 az Azonnali ablak nem látható, akkor a Hibakeresés>Windows>Azonnalilehető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 a DateTime érték tulajdonságait. Emellett a változók értékei is frissülnek a Helyiek ablakban.

    Lokális és közvetlen ablakok a Visual Studio 2019-ben

  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.

    konzolablakban a megadott értékek

  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é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ésmezőbe írja be a következő kódot, amely az 5-ös x tesztelésére szolgáló példakódot jeleníti meg.

    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 á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éspontok törlésének egyéb módjai a F9 lenyomásával vagy a hibakeresés i > hibakeresési > töréspont a kódsor kijelölése közben történő kiválasztásával.

Végiglépegeté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. 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. Válassza a Hibakeresés>Belelépéslehetőséget. Egy utasítás hibakeresésének másik módja az F11lenyomása.

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

    C#

    Visual Studio lépésről lépésre – C#

    Visual Basic

    Visual Studio lépésről lépésre – Visual Basic

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

  2. Nyomja le F11. 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 metódusforrásba lépés – C#

    Visual Basic

    Visual Studio lépés a metódusforrásba – Visual Basic

  3. Nyomja le F11. A Visual Studio kiemeli a name változó-hozzárendelést 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 F11. A Visual Studio kiemeli a currentDate változó-hozzárendelést 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 F11. 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 F11. A Visual Studio meghívja a Console.WriteLine(String, Object, Object) metódust. A konzolablakban megjelenik a formázott karakterlánc.

  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.

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 build konfigurációját Hibakeresési beállításról verzióra Kiadási beállításra.

Visual Studio alapértelmezett eszköztára kiemelt kiadással

Ha lenyomja F5, vagy a Build menüben a Build Solution 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.