Sdílet prostřednictvím


Kurz: Ladění konzolové aplikace .NET pomocí sady Visual Studio

V tomto kurzu se seznámíte s ladicími nástroji dostupnými v sadě Visual Studio.

Důležité

Všechny klávesové zkratky jsou založené na výchozím nastavení sady Visual Studio. Klávesové zkratky se mohou lišit. Další informace najdete v tématu Klávesové zkratky v sadě Visual Studio.

Požadavky

Tento kurz funguje s konzolovou aplikací, kterou vytvoříte v Vytvoření konzolové aplikace .NET pomocí sady Visual Studio.

Použijte konfiguraci sestavení ladění

Ladění a vydání jsou integrované konfigurace sestavení sady Visual Studio. Konfiguraci sestavení ladění použijete k ladění a konfiguraci vydání pro konečnou distribuci.

V konfiguraci ladění se program zkompiluje s úplnými symbolickými informacemi o ladění a bez optimalizace. Optimalizace komplikuje ladění, protože vztah mezi zdrojovým kódem a vygenerovanými instrukcemi je složitější. Konfigurace pro vydání programu nemá žádné symbolické ladicí informace a je plně optimalizovaná.

Visual Studio ve výchozím nastavení používá konfiguraci sestavení ladění, takže ji před laděním nemusíte měnit.

  1. Spusťte Visual Studio.

  2. Otevřete projekt, který jste vytvořili v nástroji Vytvořit konzolovou aplikaci .NET pomocí sady Visual Studio.

    Aktuální konfigurace sestavení se zobrazí na panelu nástrojů. Následující obrázek panelu nástrojů ukazuje, že Visual Studio je nakonfigurované pro kompilaci verze Debug aplikace.

    Panel nástrojů sady Visual Studio se zvýrazněným laděním

Nastavte zarážku

Breakpoint dočasně přeruší provádění aplikace před provedením řádku s breakpointem.

  1. Nastavte zarážku na řádku, který zobrazuje název, datum a čas, kliknutím na levý okraj okna kódu na tomto řádku. Levý okraj je vlevo od čísel řádků. Další způsoby, jak nastavit zarážku, jsou umístěním kurzoru na řádek kódu a následným stisknutím klávesy F9 nebo výběrem možnosti Ladit>přepnout zarážku z řádku nabídek.

    Jak ukazuje následující obrázek, Visual Studio označuje řádek, kde je nastavená zarážka, zvýrazněním a zobrazením červené tečky v levém sloupci.

    Okno programu Visual Studio s nastavenou zarážkou

  2. Stisknutím klávesy F5 spusťte program v režimu ladění. Dalším způsobem, jak spustit ladění, je zvolení možnosti Debug>Start Debugging z nabídky.

  3. Zadejte řetězec v okně konzoly, když program vyzve k zadání názvu, a stiskněte Klávesu Enter.

  4. Spuštění programu se zastaví, když dosáhne zarážky a před provedením metody Console.WriteLine. V okně Locals se zobrazí hodnoty proměnných, které jsou definovány v aktuálně spuštěné metodě.

    Snímek obrazovky se zarážkou ve Visual Studio

Použití okna Okamžité

Okno Okamžité umožňuje interakci s aplikací, kterou ladíte. Hodnotu proměnných můžete interaktivně změnit, abyste viděli, jak ovlivňuje váš program.

  1. Pokud není okno Okamžité viditelné, zobrazte ho výběrem možnosti Ladit>windows>Immediate.

  2. V okně name = "Gracie" zadejte a stiskněte klávesu Enter.

  3. V okně currentDate = DateTime.Parse("2026-01-14T17:25:00Z").ToUniversalTime() zadejte a stiskněte klávesu Enter.

    V okně Okamžité se zobrazí hodnota řetězcové proměnné a vlastnosti DateTime hodnoty. Hodnoty proměnných se navíc aktualizují v okně Místní hodnoty.

    Místní hodnoty a okamžitá okna v sadě Visual Studio

  4. Stisknutím klávesy F5 pokračujte v provádění programu. Dalším způsobem, jak pokračovat, je zvolením možnosti Ladit>Pokračovat z nabídky.

    Hodnoty zobrazené v okně konzoly odpovídají změnám, které jste provedli v okně Okamžité .

  5. Stisknutím libovolné klávesy ukončete aplikaci a zastavíte ladění.

Nastavení podmíněného bodu přerušení

Program zobrazí řetězec, který uživatel zadá. Co se stane, když uživatel nic nezadá? Můžete to otestovat pomocí užitečné funkce ladění označované jako podmíněný bod přerušení.

  1. Klikněte pravým tlačítkem myši na červenou tečku, která představuje zarážku. V místní nabídce vyberte Podmínky pro otevření dialogového okna Nastavení zarážky. Zaškrtněte políčko Podmínky , pokud ještě není zaškrtnuté.

    Editor ukazuje panel nastavení zarážek - C#

  2. Pro podmíněný výraz zadejte do textového pole následující kód.

    string.IsNullOrEmpty(name)
    
    String.IsNullOrEmpty(name)
    

    Pokaždé, když se zarážka dosáhne, ladicí program volá metodu String.IsNullOrEmpty(name) a na tomto řádku se přeruší pouze v případě, že volání metody vrátí true.

    Místo podmíněného výrazu můžete zadat počet přístupů, který přeruší provádění programu před provedením příkazu zadaným počtem opakování. Další možností je zadat podmínku filtru, která přeruší provádění programu na základě takových atributů jako identifikátor vlákna, název procesu nebo název vlákna.

  3. Výběrem možnosti Zavřít zavřete dialogové okno.

  4. Spusťte program s laděním stisknutím klávesy F5.

  5. V okně konzoly stiskněte klávesu Enter po zobrazení výzvy k zadání vašeho jména.

  6. Vzhledem k tomu, že zadaná podmínka (name je buď null nebo String.Empty) byla splněna, se vykonávání programu zastaví, když dosáhne zarážky, a to před tím, než se vykoná metoda Console.WriteLine.

  7. Vyberte okno Místní hodnoty, které zobrazuje hodnoty proměnných, které jsou místní pro aktuálně spuštěnou metodu. V tomto případě Main je aktuálně spuštěná metoda. Všimněte si, že hodnota name proměnné je "", nebo String.Empty.

  8. Potvrďte, že je hodnota prázdný řetězec, zadáním následujícího příkazu do okna Immediate a stisknutím Enter. Výsledek je true.

    ? name == String.Empty
    
    ? String.IsNullOrEmpty(name)
    

    Otazník nasměruje okamžité okno k vyhodnocení výrazu.

    Okamžité okno vracející hodnotu true po provedení příkazu – C#

  9. Stisknutím klávesy F5 pokračujte v provádění programu.

  10. Stisknutím libovolné klávesy zavřete okno konzoly a zastavíte ladění.

  11. Vymažte zarážku kliknutím na tečku v levém okraji okna kódu. Další způsoby, jak vymazat zarážku, jsou stisknutím F9 nebo zvolením Debug > Přepnout zarážku na vybraném řádku kódu.

Procházení programu

Visual Studio vám také umožňuje krokovat po řádku prostřednictvím programu a monitorovat jeho provádění. Obvykle byste nastavili zarážku a sledovali tok programu prostřednictvím malé části programového kódu. Vzhledem k tomu, že je tento program malý, můžete procházet celý program.

  1. Zvolte Krok ladění>. Dalším způsobem ladění jednoho příkazu najednou je stisknutí klávesy F11.

    Visual Studio zvýrazní a zobrazí šipku vedle dalšího řádku provádění.

    Krok sady Visual Studio do metody – C#

    V tomto okamžiku okno Místní hodnoty ukazuje, že args pole je prázdné a namecurrentDate má výchozí hodnoty. Kromě toho Visual Studio otevřelo prázdné okno konzole.

  2. Stiskněte klávesu F11. Visual Studio teď zvýrazní další řádek provádění. Okno Místní hodnoty se nezmění a okno konzoly zůstane prázdné.

    Krokování metodou ve zdrojovém kódu v sadě Visual Studio – C#

  3. Stiskněte klávesu F11. Visual Studio zvýrazní výrok, který zahrnuje přiřazení proměnné name. Okno Místní hodnoty ukazuje, že je name, a v okně konzoly se zobrazí řetězec "Jak se jmenuješ?".

  4. Odpovězte na výzvu zadáním řetězce v okně konzoly a stisknutím klávesy Enter. Konzola nereaguje a zadaný řetězec se nezobrazí v okně konzoly, ale Console.ReadLine metoda zachytí váš vstup.

  5. Stiskněte klávesu F11. Visual Studio zvýrazní příkaz, který obsahuje přiřazení proměnné currentDate. Okno Locals zobrazuje hodnotu vrácenou voláním Console.ReadLine metody. V okně konzoly se zobrazí také řetězec, který jste zadali na příkazovém řádku.

  6. Stiskněte klávesu F11. Okno Locals zobrazuje hodnotu proměnné currentDate po přiřazení z vlastnosti DateTime.Now. Okno konzoly se nezmění.

  7. Stiskněte klávesu F11. Visual Studio volá metodu Console.WriteLine(String, Object, Object) . V okně konzoly se zobrazí formátovaný řetězec.

  8. Zvolte Ladění>Vystoupit. Dalším způsobem, jak zastavit postupné provádění, je stisknutím Shift+F11.

    V okně konzoly se zobrazí zpráva a počká, až stisknete klávesu.

  9. Stisknutím libovolné klávesy zavřete okno konzoly a zastavíte ladění.

Použití konfigurace sestavení vydané verze

Po otestování debug verze aplikace byste také měli zkompilovat a otestovat verzi Release. Verze pro vydání zahrnuje optimalizace kompilátoru, které mohou někdy negativně ovlivnit chování aplikace. Například optimalizace kompilátoru navržené tak, aby zlepšily výkon, můžou vytvářet závodní situace ve vícevláknových aplikacích.

Pokud chcete sestavit a otestovat verzi konzolové aplikace, změňte konfiguraci sestavení na panelu nástrojů z Ladění na Verze.

Výchozí panel nástrojů sady Visual Studio se zvýrazněnou verzí

Když stisknete klávesu F5 nebo v nabídce Sestavení zvolíte Sestavit řešení, Visual Studio zkompiluje verzi aplikace Release. Můžete ho otestovat stejně jako verzi ladění.

Další kroky

V tomto kurzu jste použili nástroje pro ladění sady Visual Studio. V dalším kurzu publikujete nasaditelnou verzi aplikace.