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


Oktatóanyag: .NET-konzolalkalmazás hibakeresése a Visual Studio Code használatával

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

Előfeltételek

Hibakeresési build konfiguráció használata

Hibakeresés és Kiadás a .NET beépített buildkonfigurációi. A hibakeresési buildkonfigurációt a hibakereséshez, míg a kiadási konfigurációt a végleges kiadás terjesztéséhez használja.

Debug konfigurációban a program teljes szimbolikus hibakeresési adatokkal és optimalizálás nélkül fordul le. 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 Code indítási beállításai alapértelmezés szerint a hibakeresési buildkonfigurációt használják, így a hibakeresés előtt nem kell módosítania.

  1. Nyissa meg a Visual Studio Code alkalmazást.

  2. Nyissa meg annak a projektnek a mappáját, amelyet egy .NET-konzolalkalmazás létrehozásakor készített a Visual Studio Codehasználatával.

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. Nyissa meg a Program.cs fájlt.

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

    A Visual Studio Code a töréspont beállításának vonalát jelzi egy piros ponttal a bal margón.

    töréspont beállítva

Hibakeresés indítása

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

    Nyisd meg a Hibakeresés lapot a Visual Studio Code-ben

  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 kéri a Rendszerindítási konfiguráció kiválasztása, válassza a C#: HelloWorld HelloWorldlehetőséget.

  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

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("2019-11-16T17:25: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 (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 elérésekor a hibakereső meghívja a String.IsNullOrEmpty(name) metódust, és csak akkor áll meg ezen a soron, ha a metódus meghívása truead 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.

Lépés egy programon

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

  1. Állítson be töréspontot a Main metódus nyitó kapcsos zárójelén.

  2. A hibakeresés megkezdéséhez nyomja le F5.

    A 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(z) Futtatás>vagy lépjen be a(z)-be, vagy nyomja le a(z) F11.

    Step-Into gomb

    A következő sort kiemeli a Visual Studio Code.

  4. Válassza a >belelépési lehetőséget, vagy nyomja le a F11.

    A Visual Studio Code futtatja a névkérés Console.WriteLine, és kiemeli a következő végrehajtási sort. A következő sor a name-hez tartozó Console.ReadLine. 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 Indítás>Belépés vagy nyomja le a F11billentyűt.

    A Visual Studio kiemeli a name változó hozzárendelését. 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 ki >belépés, vagy nyomja le a F11gombot.

    A 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 >lépés vagy nyomja le F11.

    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 Futtatást>Lépjen be, vagy nyomja le F11.

    A 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ési vagy nyomja le a Shift+F11.

    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 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 nyissa meg a Terminál, és futtassa a következő parancsot:

dotnet run --configuration Release

További erőforrások

Következő lépések

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