Share via


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

Fontos

A Microsoft bejelentette a Mac Visual Studio kivonását. A Visual Studio for Mac 2024. augusztus 31-től már nem támogatott. Alternatív lehetőségek:

  • Visual Studio Code a C# Dev Kittel és a kapcsolódó bővítményekkel, például a .NET MAUI-val és a Unityvel.
  • A Windowson futó Visual Studio egy Mac rendszerű virtuális gépen fut.
  • Windows rendszeren futó Visual Studio egy felhőbeli virtuális gépen.

További információt a Mac Visual Studio kivonási bejelentésében talál.

Ez az oktatóanyag bemutatja a Mac 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 Mac Visual Studio használatá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 Mac 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 Mac Visual Studiót.

  2. Nyissa meg a .NET-konzolalkalmazás létrehozása a Mac Visual Studio használatá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. Ehhez helyezze a kurzort a kód sorára, és nyomja le a ⌘\ (parancs) billentyűt+\. A töréspont beállításának másik módja a töréspont hibakeresési >váltása a menüből való kiválasztásával.

    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 Program window with breakpoint set

  2. A program hibakeresési módban való elindításához nyomja le a ⌘ (parancs+megadása) billentyűt. 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 terminálablakba, 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, a Console.WriteLine metódus végrehajtása előtt leáll.

    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ésének megtekintése lehetőséget>választva jelenítse meg.

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

  3. Írja be currentDate = currentDate.AddDays(1) az Azonnali ablakba, és nyomja le az Enter billentyűt.

    Az Azonnali ablak megjeleníti a sztringváltozó új értékét és az DateTime érték tulajdonságait.

    Immediate Window in Visual Studio

    A Helyiek ablak az aktuális végrehajtási metódusban definiált változók értékeit jeleníti meg. Az imént módosított változók értékei a Helyiek ablakban frissülnek.

    Locals Window in Visual Studio

  4. A hibakeresés folytatásához nyomja le a ⌘ (parancs+megadása) billentyűt.

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

    Ha nem látja a terminált, válassza a Terminál – HelloWorld lehetőséget az alsó navigációs sávon.

    Terminal - Hello World in bottom navigation bar

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

  6. Zárja be a terminálablakot.

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

A program megjelenít egy sztringet, amelyet a felhasználó beír. 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. ctrl billentyűt lenyomva tartva kattintson a töréspontot jelképező piros pontra. A helyi menüben válassza a Töréspont szerkesztése lehetőséget.

  2. A Töréspont szerkesztése párbeszédpanelen írja be a következő kódot a következő mezőbe, és az alábbi feltétel igaz, és válassza az Alkalmaz lehetőséget.

    String.IsNullOrEmpty(name)
    

    Editor showing breakpoint settings panel

    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.

  3. A hibakeresés megkezdéséhez nyomja le a ⌘ (parancs+megadása) billentyűt.

  4. A terminálablakban nyomja le az Enter billentyűt , amikor a rendszer kéri, hogy adja meg a nevét.

    Mivel a megadott feltétel (name vagy nullString.Empty) teljesült, a program végrehajtása leáll, amikor eléri a töréspontot.

  5. 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 , azaz String.Empty.

  6. Azt is láthatja, hogy az érték egy üres sztring, ha beírja a name változó nevét az Azonnali ablakban, és lenyomja az Enter billentyűt.

    Immediate window showing name is an empty string

  7. A hibakeresés folytatásához nyomja le a ⌘ (parancs+megadása) billentyűt.

  8. A terminálablakban nyomja le bármelyik billentyűt a programból való kilépéshez.

  9. Zárja be a terminálablakot.

  10. A töréspont törléséhez kattintson a kódablak bal margóján lévő piros pontra. A töréspontok törlésének másik módja, ha a hibakeresési > váltópontot választja, 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. Állítson be egy töréspontot a kapcsos zárójelen, amely a metódus kezdetét jelöli (nyomja le a Main parancsot\+).

  2. A hibakeresés megkezdéséhez nyomja le a ⌘ (parancs+megadása) billentyűt.

    A Visual Studio leáll a törésponttal.

  3. Nyomja le a ⇧I (shift+command I) billentyűkombinációt+, vagy válassza a Hibakeresési> lépés elemet egy sor előrelépéséhez.

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

    Visual Studio step into method

    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 terminált.

  4. Nyomja le a ⇧I billentyűkombinációt (I. shift+parancs).+

    A Visual Studio kiemeli a változó-hozzárendelést tartalmazó utasítást name . A Helyiek ablakban ez látható namenull, és a terminál megjeleníti a "Mi a neved?" sztringet.

  5. Válaszoljon a kérdésre egy sztring beírásával a konzolablakban, és nyomja le az Enter billentyűt.

  6. Nyomja le a ⇧I billentyűkombinációt (I. shift+parancs).+

    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 terminál megjeleníti a parancssorban megadott sztringet.

  7. Nyomja le a ⇧I billentyűkombinációt (I. shift+parancs).+

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

  8. Nyomja le a ⇧I billentyűkombinációt (I. shift+parancs).+

    A Visual Studio meghívja a metódust Console.WriteLine(String, Object, Object) . A terminál megjeleníti a formázott sztringet.

  9. Nyomja le a ⇧U (shift+command U) billentyűt+, vagy válassza a Kifuttatás parancsot.>

    A terminál egy üzenetet jelenít meg, és megvárja, amíg lenyom egy billentyűt.

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

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 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 hajtsa végre a következő lépéseket:

  1. Módosítsa az eszköztár buildkonfigurációját hibakeresésről kiadásra.

    default Visual Studio toolbar with release highlighted

  2. A hibakeresés nélküli futtatáshoz nyomja le a 𕾍 (option+command enter) billentyűkombinációt.+

További 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.