Cvičení – spuštění kódu v ladicím prostředí

Dokončeno

Uživatelské rozhraní editoru Visual Studio Code umožňuje vývojářům spouštět kód v ladicím prostředí. Podpora ladění je poskytována rozšířeními a pro vývojáře v jazyce C# je podpora ladicího programu poskytována stejným rozšířením, které poskytuje podporu pro vývoj kódu a IntelliSense.

Interakce ladicího programu a aplikace

Ladicí program kódu lze použít k pozastavení a obnovení provádění kódu, prozkoumání stavu proměnné a dokonce ke změně hodnot přiřazených proměnným za běhu. Možná vás zajímá, jak může ladicí program ovládat a upravovat spuštěnou aplikaci? Stručnou odpovědí je, že ladicí program má přístup k prostředí runtime aplikace a spustitelnému kódu.

Poznámka:

Interakce ladicího programu s běhovým prostředím je pokročilé téma. Kromě toho pochopení, jak ladicí program funguje na pozadí, není požadavkem pro použití ladicího programu. Následující popis však může splňovat vaši zvědavost.

Ladicí program editoru Visual Studio Code pro jazyk C# používá modul runtime .NET ke spuštění a interakci s aplikací. Když spustíte ladicí program, vytvoří novou instanci běhového prostředí a spustí v ní aplikaci. Modul runtime obsahuje aplikační programovací rozhraní (API), které ladicí program používá k připojení ke spuštěnýmu procesu (vaší aplikaci).

Po spuštění aplikace a připojení ladicího programu ladicí program komunikuje se spuštěným procesem pomocí rozhraní API pro ladění modulu runtime .NET a standardního ladicího protokolu. Ladicí nástroj může s procesem interagovat (aplikací spuštěnou v instanci modulu runtime .NET) nastavením bodů přerušení, procházením kódu a zkoumáním proměnných. Rozhraní ladicího nástroje v editoru Visual Studio Code umožňuje procházet zdrojový kód, zobrazovat zásobníky volání a vyhodnocovat výrazy.

Nejběžnější způsob, jak určit ladicí relaci, je spouštěcí konfigurace v souboru launch.json. Tento přístup je výchozí možností povolenou nástroji ladicího programu. Pokud například vytvoříte konzolovou aplikaci jazyka C# a v nabídceSpustit spustíte ladění, ladicí program použije tento přístup ke spuštění, připojení a interakci s aplikací.

Vytvoření nového projektu kódu

Prvním krokem při učení nástrojů ladicího programu je vytvoření projektu kódu, který můžete spustit v ladicím programu.

  1. Otevřete novou instanci editoru Visual Studio Code.

  2. V nabídce Soubor vyberte Otevřít složku.

  3. V dialogovém okně Otevřít složku přejděte do složky Windows Desktop .

  4. V dialogovém okně Otevřít složku vyberte Nová složka.

  5. Pojmenujte novou složku Debug101 a pak vyberte Vybrat složku.

  6. V nabídce Terminál vyberte Nový terminál.

    K vytvoření nové konzolové aplikace je možné použít příkaz .NET CLI.

  7. Na příkazovém řádku panelu TERMINÁL zadejte následující příkaz:

    dotnet new console
    
  8. Zavřete panel TERMINÁL.

Prozkoumejte konfigurace spuštění pro ladění

Visual Studio Code používá konfigurační soubor spuštění k určení aplikace, která běží v ladicím prostředí.

  1. Pokud složka Debug101 neobsahuje soubor Debug101.sln, vyberte Program.cs a ověřte, že je vytvořen .sln soubor.

    Otevření souboru kódu jazyka C# vyzve prostředí ke kontrole souborů projektu. Soubor .sln je soubor řešení, který sada Visual Studio používá ke správě projektů a obvykle se vytvoří automaticky při vytváření nového projektu v editoru Visual Studio Code. Debugger používá soubor .sln k identifikaci projektu, který se má spustit v ladicím prostředí.

  2. V nabídce Zobrazit vyberte paletu příkazů.

  3. Na příkazovém řádku zadejte .net: g a pak vyberte .NET: Generovat prostředky pro sestavení a ladění.

  4. Všimněte si nové .vscode složky, která byla přidána do složky projektu.

    Snímek obrazovky zobrazující složku .vscode v PRŮZKUMNÍKu

    Složka .vscode obsahuje soubory, které slouží ke konfiguraci prostředí ladění.

  5. .vscode Rozbalte složku a vyberte souborlaunch.json.

  6. Prohlédněte si soubor launch.json.

    Spouštěcí konfigurační soubor může obsahovat více konfigurací. Každá konfigurace zahrnuje kolekci atributů, které se používají k definování této konfigurace.

  7. Všimněte si, že atribut prelaunchTask určuje úlohu sestavení .

  8. .vscode Ve složce vyberte tasks.json.

  9. Všimněte si, že soubor tasks.json obsahuje úlohu sestavení projektu kódu.

  10. Zavřete souborylaunch.json a tasks.json .

Blíže se podíváte na atributy konfigurace spuštění dále v tomto modulu.

Spusťte svůj kód z nabídky Spustit

Nabídka Spustit v editoru Visual Studio Code poskytuje možnost spustit kód s ladicím programem nebo bez něj.

  1. Otevřete soubor Program.cs .

  2. Obsah souboru Program.cs nahraďte následujícím kódem:

    /* 
    This code uses a names array and corresponding methods to display
    greeting messages
    */
    
    string[] names = new string[] { "Sophia", "Andrew", "AllGreetings" };
    
    string messageText = "";
    
    foreach (string name in names)
    {
        if (name == "Sophia")
            messageText = SophiaMessage();
        else if (name == "Andrew")
            messageText = AndrewMessage();
        else if (name == "AllGreetings")
            messageText = SophiaMessage();
            messageText = messageText + "\n\r" + AndrewMessage();
    
        Console.WriteLine(messageText + "\n\r");
    }
    
    bool pauseCode = true;
    while (pauseCode == true);
    
    static string SophiaMessage()
    {
        return "Hello, my name is Sophia.";
    }
    
    static string AndrewMessage()
    {
        return "Hi, my name is Andrew. Good to meet you.";
    }
    
  3. V nabídce Soubor vyberte Uložit.

  4. Otevřete nabídku Spustit .

    Všimněte si, že nabídka Spustit poskytuje možnosti spuštění kódu s nebo bez ladění.

  5. V nabídce Spustit vyberte Spustit bez ladění.

  6. Všimněte si, že panel KONZOLY LADĚNÍ zobrazuje výstup konzoly a že panel nástrojů Ladění zobrazuje ovládací prvky provádění.

    Panel KONZOLY LADĚNÍ by se měl zobrazit pod editorem kódu. Ve výchozím nastavení je malý panel nástrojů Ladění, který zobrazuje ovládací prvky provádění kódu, umístěn nad editorem kódu a je vodorovně vycentrován na okně Visual Studio Code.

  7. Na panelu nástrojů Ladění vyberte Zastavit.

Spuštění ladicí relace z nabídky Spustit

Nabídka Spustit obsahuje možnost spustit ladicí relaci.

  1. V nabídce Spustit vyberte Spustit ladění.

  2. Věnujte chvíli zkontrolování zpráv zobrazených na panelu DEBUG CONSOLE.

    Výstup aplikace je stejný jako při spuštění bez ladění, ale zobrazí se další zprávy související s přípravou prostředí ladění.

  3. Všimněte si zpráv o načítání prostředků .NET a vaší aplikace Debug101.

    První dvě zprávy oznamují načítání knihovny .NET a poté načítání vaší aplikace Debug101.

    Loaded 'C:\Program Files\dotnet\shared\Microsoft.NETCore.App\10.0.0\System.Private.CoreLib.dll'. Skipped loading symbols. Module is optimized and the debugger option 'Just My Code' is enabled.
    Loaded 'C:\Users\someuser\Desktop\Debug101\bin\Debug\net10.0\Debug101.dll'. Symbols loaded.
    

    Ladicí program používá speciální instanci modulu runtime .NET ke kontrole provádění aplikace a k vyhodnocení stavu aplikace.

  4. Na panelu nástrojů Ladění vyberte Zastavit.

Spusťte svůj kód ze zobrazení Spustit a Ladit

Zobrazení SPUSTIT A LADIT v editoru Visual Studio Code podporuje bohaté možnosti ladění.

  1. Přepněte do zobrazení SPUSTIT A LADIT.

    Snímek obrazovky znázorňující možnost spuštění v zobrazení Spustit a Ladit

  2. V zobrazení Spustit a ladit vyberte Spustit ladění.

    Tlačítko Spustit ladění je zelená šipka na ovládacím panelu v horní části zobrazení.

  3. Všimněte si, že panel KONZOLY LADĚNÍ zobrazuje stejné zprávy o konfiguraci ladicího programu, který se zobrazil při spuštění procesu ladění z nabídky Spustit .

  4. Na panelu nástrojů Ladění vyberte Zastavit.

Prozkoumání výstupu z vaší aplikace

  1. Než zavřete panel KONZOLY LADĚNÍ, zkontrolujte výstup, který váš kód vytvořil.

  2. Všimněte si, že andrewova zpráva s pozdravem se neočekávaně opakuje.

Ve zbývající části tohoto modulu použijete nástroje ladicího programu editoru Visual Studio Code ke zkoumání problémů s kódováním.

Rekapitulace

Tady je několik důležitých věcí, které je potřeba si z této lekce zapamatovat:

  • Ladicí program Visual Studio Code pro jazyk C# používá runtime prostředí .NET ke spuštění a interakci s aplikací.
  • Nabídka Spuštění v editoru Visual Studio Code nabízí možnosti spuštění aplikace s připojeným ladicím programem i bez něj.
  • Panel nástrojů Ladění obsahuje tlačítko pro zastavení spuštěného procesu.
  • Zobrazení SPUSTIT A LADIT obsahuje možnost spustit ladění aplikace.