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
- Ez az oktatóanyag a .NET-konzolalkalmazás létrehozása a Visual Studio Codehasználatával létrehozott konzolalkalmazással működik.
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.
Nyissa meg a Visual Studio Code alkalmazást.
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.
Nyissa meg a Program.cs fájlt.
Á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.
Hibakeresés indítása
Nyissa meg a Hibakeresés nézetet a bal oldali menü Hibakeresés ikonjának kiválasztásával.
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.
Ha kéri a Rendszerindítási konfiguráció kiválasztása, válassza a C#: HelloWorld HelloWorldlehetőséget.
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.
Í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.
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.
Válassza a Hibakeresési konzol lapot.
Írja be a
name = "Gracie"
a Hibakeresési konzol ablak alján található parancssorba, és nyomja le Enterbillentyűt.Í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
éscurrentDate
változók új értékeit.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.
A konzolablakban megjelenített értékek megfelelnek azoknak a módosításoknak, amelyeket a hibakeresési konzolkészítettél.
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.
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.
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)
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ásatrue
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.
Indítsa el a programot hibakereséssel F5lenyomásával.
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 (
name
null
vagy String.Empty) teljesült, a program végrehajtása leáll, amikor eléri a töréspontot, és aConsole.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.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
A program végrehajtásának folytatásához kattintson az eszköztár Folytatás gombjára.
A programból való kilépéshez és a hibakeresés leállításához nyomja le az Enter billentyűt.
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.
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.
Állítson be töréspontot a
Main
metódus nyitó kapcsos zárójelén.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, ésname
éscurrentDate
alapértelmezett értékekkel rendelkeznek.Válassza a(z) Futtatás>vagy lépjen be a(z)-be, vagy nyomja le a(z) F11.
A következő sort kiemeli a Visual Studio Code.
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 aname
-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.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 aname
még mindignull
.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.
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.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.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.
Válassza a >kilépési vagy nyomja le a Shift+F11.
A terminálon megjelenik a "Bármely billentyű lenyomása a kilépéshez..."
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.