Sdílet prostřednictvím


Kurz: Naučte se ladit kód jazyka C# pomocí sady Visual Studio

Tento článek představuje funkce ladicího programu sady Visual Studio v podrobném návodu. Pokud chcete zobrazit funkce ladicího programu na vyšší úrovni, podívejte se na první pohled na ladicí program. Při ladění aplikace to obvykle znamená, že aplikaci spouštíte s připojeným ladicím programem. Při provádění této úlohy poskytuje ladicí program mnoho způsobů, jak zjistit, co váš kód dělá během jeho spuštění. Můžete procházet kód a podívat se na hodnoty uložené v proměnných, můžete nastavit kukátky na proměnných, abyste viděli, kdy se hodnoty mění, můžete prozkoumat cestu provádění kódu, zjistit, jestli je spuštěná větev kódu atd. Pokud se toto cvičení poprvé pokusíte ladit kód, můžete si před přechodem do tohoto článku přečíst ladění pro absolutní začátečníky .

I když je ukázková aplikace C#, většina funkcí platí pro C++, Visual Basic, F#, Python, JavaScript a další jazyky podporované sadou Visual Studio (jazyk F# nepodporuje úpravy a pokračování. F# a JavaScript nepodporují okno automatického vytváření . Snímky obrazovky jsou v jazyce C#.

V tomto kurzu:

  • Spusťte ladicí program a stiskněte zarážky.
  • Naučte se procházet kód v ladicím programu.
  • Kontrola proměnných v datových tipech a oknech ladicího programu
  • Prozkoumání zásobníku volání

Požadavky

Musíte mít nainstalovanou sadu Visual Studio 2022 a úlohu vývoje desktopových aplikací .NET.

Musíte mít nainstalovanou sadu Visual Studio 2019 a úlohu vývoje pro různé platformy .NET Core.

Pokud jste visual Studio ještě nenainstalovali, přejděte na stránku pro stažení sady Visual Studio a nainstalujte ji zdarma.

Pokud potřebujete nainstalovat úlohu, ale sadu Visual Studio už máte, přejděte na Nástroje>Získat nástroje a funkce..., čímž se otevře Instalační program pro Visual Studio. Spustí se instalační program pro Visual Studio. Zvolte úlohu vývoje pro různé platformy .NET Core a pak zvolte Upravit.

Pokud už sadu Visual Studio máte, ale úloha vývoje desktopových aplikací .NET není nainstalovaná, přejděte do části Nástroje Get Tools>and Features..., který spustí Instalační program pro Visual Studio. V Instalační program pro Visual Studio zvolte úlohu vývoje desktopových aplikací .NET a pak zvolte Upravit.

Vytvoření projektu

Nejprve vytvoříte projekt konzolové aplikace .NET Core. Typ projektu obsahuje všechny soubory šablony, které potřebujete, ještě předtím, než něco přidáte.

  1. Otevřete sadu Visual Studio. Pokud úvodní okno není otevřené, vyberte Okno Spustit soubor>.

  2. V úvodním okně vyberte Vytvořit nový projekt.

  1. V okně Vytvořit nový projekt zadejte do vyhledávacího pole konzolu . Potom v seznamu Jazyků zvolte jazyk C# a pak ze seznamu Platformy zvolte Windows .

    Po použití filtrů jazyka a platformy zvolte šablonu konzolové aplikace pro .NET Core a pak vyberte Další.

    Screenshot of the C# template for the Console App.

    Poznámka:

    Pokud šablonu konzolové aplikace nevidíte, můžete ji nainstalovat z okna Vytvořit nový projekt. Ve zprávě Nenajděte, co hledáte? Zvolte odkaz Instalovat další nástroje a funkce. Potom v Instalační program pro Visual Studio zvolte úlohu vývoje pro různé platformy .NET Core.

  2. V okně Konfigurovat nový projekt zadejte getStartedDebugging do pole Název projektu. Pak vyberte Další.

  3. Vyberte doporučenou cílovou architekturu (.NET 8.0 nebo dlouhodobou podporu) a pak vyberte Vytvořit.

  1. V okně Vytvořit nový projekt zadejte do vyhledávacího pole konzolu . Potom v seznamu Jazyků zvolte jazyk C# a pak ze seznamu Platformy zvolte Windows .

    Po použití filtrů jazyka a platformy zvolte šablonu konzolové aplikace a pak vyberte Další.

    Screenshot of the 'Console Application' template in the 'Create a new project' window of Visual Studio 2022.

    Poznámka:

    Pokud šablonu konzolové aplikace nevidíte, můžete ji nainstalovat z okna Vytvořit nový projekt. Ve zprávě Nenajděte, co hledáte? Zvolte odkaz Instalovat další nástroje a funkce. Potom v Instalační program pro Visual Studio zvolte úlohu vývoje desktopových aplikací .NET.

  2. V okně Konfigurovat nový projekt zadejte getStartedDebugging do pole Název projektu. Pak vyberte Další.

  3. V okně Další informace se ujistěte, že je v rozevírací nabídce rozhraní .NET 8.0 vybrána a pak vyberte Vytvořit.

Visual Studio otevře nový projekt.

Vytvoření aplikace

V souboru Program.cs nahraďte veškerý výchozí kód následujícím kódem:

using System;

class ArrayExample
{
   static void Main()
   {
      char[] letters = { 'f', 'r', 'e', 'd', ' ', 's', 'm', 'i', 't', 'h'};
      string name = "";
      int[] a = new int[10];
      for (int i = 0; i < letters.Length; i++)
      {
         name += letters[i];
         a[i] = i + 1;
         SendMessage(name, a[i]);
      }
      Console.ReadKey();
   }

   static void SendMessage(string name, int msg)
   {
      Console.WriteLine("Hello, " + name + "! Count to " + msg);
   }
}

Spusťte ladicí program!

  1. Stiskněte klávesu F5 (>Ladění spustit ladění) nebo tlačítko Image of the Start Debugging button. Spustit ladění na panelu nástrojů Ladění.

    F5 spustí aplikaci s ladicím programem připojeným k procesu aplikace, ale právě teď jsme neprovedli nic zvláštního, abychom kód prozkoumali. Aplikace se tedy právě načte a zobrazí se tento výstup konzoly.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    

    V tomto kurzu se podrobněji podíváte na tuto aplikaci pomocí ladicího programu a podíváte se na funkce ladicího programu.

  2. Zastavte ladicí program stisknutím červeného tlačítka zarážky (Shift + F5). Image of the Stop Debugging button.

  3. V okně konzoly zavřete stisknutím klávesy okno konzoly.

Většinou tady používáme klávesové zkratky, protože je to rychlý způsob, jak spouštět příkazy ladicího programu. Jsou také zaznamenány ekvivalentní příkazy, jako je panel nástrojů nebo příkazy nabídky.

  1. Ladicí program spustíte tak, že vyberete klávesu F5 nebo na panelu nástrojů Standardní vyberetetlačítko Cíl ladění, nebo na panelu nástrojů Ladění zvolíte tlačítko Spustit ladění nebo v řádku nabídek zvolíte >Tlačítko Spustit ladění.

    Screenshot of the Debug Target button in the Standard toolbar of Visual Studio 2022.

    F5 spustí aplikaci pomocí ladicího programu připojeného k procesu aplikace. Vzhledem k tomu, že jsme neprovedli nic zvláštního ke zkoumání kódu, aplikace se spustí k dokončení a zobrazí se výstup konzoly.

    Hello, f! Count to 1
    Hello, fr! Count to 2
    Hello, fre! Count to 3
    Hello, fred! Count to 4
    Hello, fred ! Count to 5
    Hello, fred s! Count to 6
    Hello, fred sm! Count to 7
    Hello, fred smi! Count to 8
    Hello, fred smit! Count to 9
    Hello, fred smith! Count to 10
    
  2. Pokud chcete ladicí program zastavit, vyberte Shift+F5 nebo na panelu nástrojů Ladění zvolte tlačítko Zastavit ladění nebo v řádku nabídek zvolte Ladění>zastavit.

    Screenshot of the Stop debugging button in the Debug toolbar of Visual Studio 2022.

  3. V okně konzoly vyberte libovolnou klávesu a zavřete okno konzoly.

Nastavení zarážky a spuštění ladicího programu

  1. for Ve smyčce Main funkce nastavte zarážku kliknutím na levý okraj na následujícím řádku kódu:

    name += letters[i];

    Tam, kde nastavíte zarážku, se zobrazí červené kolečko Image of a breakpoint. .

    Zarážky jsou jednou z nejzásadnějších a základních funkcí spolehlivého ladění. Zarážka určuje, kde má Visual Studio spuštěný kód pozastavit, abyste mohli zkontrolovat hodnoty proměnných či chování paměti, nebo abyste zjistili, jestli se nějaká větev kódu spouští.

  2. Stiskněte klávesu F5 nebo tlačítko Spustit ladění. Screenshot of the Start Debugging button. Aplikace se spustí a ladicí program se spustí na řádek kódu, kde nastavíte zarážku.

    Set and hit a breakpoint

    Žlutá šipka představuje příkaz, na kterém ladicí program pozastavil, což také pozastaví provádění aplikace ve stejném okamžiku (tento příkaz ještě nebyl spuštěn).

    Pokud aplikace ještě není spuštěná, F5 spustí ladicí program a zastaví se na prvním zarážce. Jinak F5 pokračuje ve spuštění aplikace na další zarážku.

    Zarážky jsou užitečnou funkcí, když znáte řádek kódu nebo oddíl kódu, který chcete podrobně prozkoumat. Informace o různých typech zarážek, které můžete nastavit, například podmíněné zarážky, najdete v tématu Použití zarážek.

  1. for Ve smyčce Main funkce nastavte zarážku kliknutím na levý okraj na následujícím řádku kódu:

    name += letters[i];

    Tam, kde nastavíte zarážku, se zobrazí červené kolečko.

    Screenshot of a breakpoint in Visual Studio 2022.

    Zarážky jsou základní funkcí spolehlivého ladění. Můžete nastavit zarážky, ve kterých má Visual Studio pozastavit spuštěný kód, abyste se mohli podívat na hodnoty proměnných nebo chování paměti nebo zjistit, jestli se spouští větev kódu.

  2. Ladění spustíte tak, že vyberete klávesu F5 nebo na panelu nástrojů Standardní zvolíte tlačítko Ladit cíl, nebo na panelu nástrojů Ladění zvolíte tlačítko Spustit ladění nebo v řádku nabídek zvolíte> Tlačítko Spustit ladění. Aplikace se spustí a ladicí program se spustí na řádek kódu, kde nastavíte zarážku.

    Screenshot showing a breakpoint in the code editor of Visual Studio 2022, with code execution paused at the breakpoint.

    Žlutá šipka odkazuje na příkaz, na kterém byl ladicí program pozastaven. Spuštění aplikace je pozastaveno ve stejném okamžiku a příkaz se ještě nespustí.

    Když aplikace není spuštěná, F5 spustí ladicí program, který aplikaci spustí, dokud nedosáhne první zarážky. Pokud je aplikace pozastavená na zarážce, F5 bude aplikaci dál spouštět, dokud nedosáhne další zarážky.

    Zarážky jsou užitečnou funkcí, když znáte řádek nebo oddíl kódu, který chcete podrobně prozkoumat. Další informace o různých typech zarážek, které můžete nastavit, například podmíněné zarážky, najdete v tématu Použití zarážek.

Většinou tady používáme klávesové zkratky, protože je to dobrý způsob, jak rychle spustit aplikaci v ladicím programu (ekvivalentní příkazy, jako jsou příkazy nabídky, se zobrazují v závorkách).

  1. Zatímco provádění kódu je pozastaveno v name += letters[i] příkazu, najeďte myší na letters proměnnou a uvidíte její výchozí hodnotu, hodnotu prvního prvku v poli, char[10].

    Funkce, které umožňují kontrolovat proměnné, jsou jednou z nejužitečnějších funkcí ladicího programu a existují různé způsoby, jak to udělat. Při pokusu o ladění problému se často pokoušíte zjistit, jestli proměnné ukládají hodnoty, které očekáváte, v určitém okamžiku.

  2. letters Rozbalením proměnné zobrazíte její vlastnosti, které zahrnují všechny prvky, které proměnná obsahuje.

    Screenshot of the debugger paused at the 'name+= letters[I]' statement.

  3. Dále najeďte myší na name proměnnou a zobrazí se její aktuální hodnota, prázdný řetězec.

  4. Dvakrát stiskněte klávesu F10 (nebo zvolte Krok ladění>) a přejděte na SendMessage volání metody a pak stiskněte F10 ještě jednou.

    F10 přepíná ladicí program na další příkaz bez krokování do funkcí nebo metod v kódu aplikace (kód se stále spouští). Stisknutím klávesy F10 na SendMessage volání metody jsme přeskočili kód SendMessage implementace (což nás teď možná nezajímá).

  5. Několikrát stiskněte klávesu F10 (nebo Krok pro ladění>), abyste několikrát iterovala smyčkoufor, znovu se přerušila na zarážce a pokaždé najeďte myší na name proměnnou, abyste zkontrolovali její hodnotu.

    An animated screenshot of the Visual Studio Debugger showing the effect of pressing F10 to

    Hodnota proměnné se změní s každou iterací smyčky for , zobrazující hodnoty f, pak fr, a tak fredále. Pokud chcete ladicí program v tomto scénáři urychlit, můžete místo dalšího příkazu stisknout klávesu F5 (nebo zvolit Pokračovat v ladění>). Tím přejdete na zarážku místo dalšího příkazu.

    Při ladění často chcete rychle zkontrolovat hodnoty vlastností u proměnných, abyste zjistili, jestli ukládají hodnoty, které očekáváte, že se mají ukládat, a tipy pro data jsou dobrým způsobem, jak to udělat.

  6. Zatímco provádění kódu zůstane pozastaveno ve for smyčce v Main metodě, stiskněte klávesu F11 (nebo zvolte Ladit > krok do), dokud se nepřesunete na SendMessage volání metody.

    Měli byste být na tomto řádku kódu:

    SendMessage(name, a[i]);

  7. Stisknutím klávesy F11 postupně přejděte k SendMessage metodě.

    Žlutý ukazatel přejde do SendMessage metody.

    Screenshot of the execution pointer at the SendMessage method.

    F11 je příkaz Krok do a postupně provede provádění aplikace jedním příkazem. F11 je dobrý způsob, jak prozkoumat tok provádění v nejpodrobnějších podrobnostech. Ladicí program ve výchozím nastavení přeskočí kód bez uživatele (pokud chcete další podrobnosti viz Pouze můj kód).

    Řekněme, že jste dokončili zkoumání SendMessage metody a chcete se z metody dostat, ale zůstat v ladicím programu. Můžete to provést pomocí příkazu Krok ven .

  8. Stiskněte klávesu Shift + F11 (nebo krok odladit).>

    Tento příkaz obnoví provádění aplikace (a posune ladicí program) až do vrácení aktuální metody nebo funkce.

    Měli byste být zpět ve for smyčce v Main metodě, pozastaveni při SendMessage volání metody. Další informace o různých způsobech procházení kódu najdete v tématu Navigace v ladicím programu.

  1. Zatímco provádění kódu je pozastaveno v name += letters[i] příkazu, najeďte myší na letters proměnnou, aby se zobrazil datový tip zobrazující velikost pole a typ prvku. char[10]

    Poznámka:

    Jednou z nejužitečnějších funkcí ladicího programu je jeho schopnost kontrolovat proměnnou. Při pokusu o ladění problému se často pokoušíte zjistit, jestli proměnné mají hodnoty, které očekáváte v určitém čase. Zobrazení datových tipů je dobrý způsob, jak to zkontrolovat.

  2. letters Rozbalením proměnné zobrazíte všechny její prvky pole a jejich hodnoty.

    Screenshot of a debugger data tip in Visual Studio 2022 that shows the element values for the 'letters' array variable.

  3. Najeďte myší na name proměnnou, aby se zobrazila její aktuální hodnota, což je prázdný řetězec.

  4. Pokud chcete ladicí program přejít na další příkaz, vyberte F10 nebo na panelu nástrojů Ladění zvolte tlačítko Krok přes nebo v řádku nabídek zvolte Krok pro ladění>. Výběrem klávesy F10 dvakrát více přesunete volání metody.SendMessage

    F10 přepíná ladicí program bez krokování do funkce nebo metod, i když se jejich kód stále spouští. Tímto způsobem jsme přeskočili ladění kódu v SendMessage metodě, což nás teď nezajímá.

  5. Pokud chcete iterovat smyčku for několikrát, opakovaně vyberte klávesu F10 . Během každé iterace smyčky nastavte zarážku a najeďte myší na name proměnnou, abyste zkontrolovali její hodnotu v datovém tipu.

    Screenshot of a debugger data tip in Visual Studio 2022 that shows the string value for the 'name' variable.

    Hodnota proměnné se změní s každou iterací smyčky for , zobrazující hodnoty f, pak fr, a tak fredále. Pokud chcete ladicí program urychlit, vyberte místo toho klávesu F5 , která místo dalšího příkazu přejde na zarážku.

  6. Zatímco provádění kódu je pozastaveno ve for smyčce Main metody, vyberte F11 nebo zvolte tlačítko Krok do z panelu nástrojů Ladění nebo zvolte Ladit>krok do z řádku nabídek, dokud se nedostanete na SendMessage volání metody.

    Ladicí program by se měl pozastavit na tomto řádku kódu:

    SendMessage(name, a[i]);

  7. Pokud chcete přejít k metodě, vyberte znovu klávesu SendMessage F11.

    Žlutý ukazatel přejde do SendMessage metody.

    Screenshot showing the execution pointer of the debugger within the 'SendMessage' method.

    F11 vám pomůže prozkoumat tok provádění kódu podrobněji. Pokud chcete přejít k metodě z volání metody, vyberte F11. Ve výchozím nastavení ladicí program přeskočí krokování do neuživatelových metod. Další informace o ladění neuživatele najdete v tématu Jen můj kód.

    Jakmile dokončíte ladění SendMessage metody, můžete se vrátit ke for smyčce main metody.

  8. Pokud chcete metodu SendMessage opustit, vyberte Shift+F11 nebo zvolte tlačítko Krok ven na panelu nástrojů Ladění nebo v řádku nabídek zvolte Ladit>krok ven.

    Krok Out obnoví provádění aplikace a posune ladicí program, dokud aktuální metoda nebo funkce nevrátí.

    Ve smyčce Main metody se zobrazí for žlutý ukazatel, pozastavený při SendMessage volání metody. Další informace o různých způsobech procházení kódu najdete v tématu Navigace v ladicím programu.

  1. Dalším přechodem na zarážku vyberte klávesu F5 .

  2. V editoru kódu se posuňte dolů a najeďte myší na metodu Console.WriteLineSendMessage v metodě, dokud se nezobrazí zelené tlačítkoImage of the Run to Click button.Spustit na kliknutí. Popis tlačítka zobrazuje "Spustit spuštění sem".

    Screenshot of the Run to Click button.

    Poznámka:

    Tlačítko Spustit po kliknutí je v sadě Visual Studio 2017 nové. (Pokud se tlačítko se zelenou šipkou nezobrazuje, použijte F11 v tomto příkladu místo toho, abyste ladicí program přešli na správné místo.)

  3. Vyberte tlačítko Spustit a klikněte na tlačítko. Image of the Run to Click button.

    Ladicí program přejde na metodu Console.WriteLine .

    Použití tohoto tlačítka se podobá nastavení dočasné zarážky. Spustit a kliknout je užitečné, když se rychle dostanete do viditelné oblasti kódu aplikace (můžete vybrat v libovolném otevřeném souboru).

  1. Dalším přechodem na zarážku vyberte klávesu F5 .

  2. V editoru kódu najeďte myší na Console.WriteLine volání metody v SendMessage metodě, dokud se nezobrazí tlačítko Spustit do kliknutí . Popis tlačítka zobrazuje "Spustit spuštění sem".

    Screenshot showing the Run to Click button in Visual Studio 2022.

  3. Zvolte tlačítko Spustit pro kliknutí. Případně můžete stisknutím kurzoru Console.WriteLinena příkaz vybrat Kombinaci kláves Ctrl+F10. Nebo klikněte pravým tlačítkem myši na Console.WriteLine volání metody a v místní nabídce zvolte Spustit do kurzoru .

    Ladicí program přejde na Console.WriteLine volání metody.

    Použití tlačítka Spustit ke kliknutí se podobá nastavení dočasné zarážky a je užitečné se rychle pohybovat v viditelné oblasti kódu aplikace v otevřeném souboru.

Rychlé restartování aplikace

Na panelu nástrojů Ladění vyberte tlačítkoImage of the Restart App button.Restartovat (Ctrl + Shift + F5).

Když stisknete tlačítko Restartovat, ušetří se čas a zastaví se aplikace a restartuje ladicí program. Ladicí program se pozastaví na první zarážce, na které dojde spuštěním kódu.

Ladicí program se znovu zastaví na zarážce, kterou jste předtím nastavili uvnitř smyčky for .

Pokud chcete aplikaci spustit znovu od začátku ladicího programu, vyberte Kombinaci kláves Ctrl+Shift+F5 nebo na panelu nástrojů Ladění zvolte tlačítko Restartovat nebo v řádku nabídek zvolte Restartovat ladění>.

Screenshot of the Restart button in the Debug toolbar of Visual Studio 2022.

Restartujte ladicí program a restartuje ho v jednom kroku. Když se ladicí program restartuje, spustí se na první zarážku, což je zarážka, kterou jste předtím nastavili uvnitř for smyčky, a pak se pozastaví.

Kontrola proměnných pomocí oken Automatické hodnoty a Místní hodnoty

  1. Podívejte se do okna Automatické položky v dolní části editoru kódu.

    Pokud je zavřený, otevřete ho při pozastavení v ladicím programu tak, že zvolíte Ladit>>automatické windows.

    V okně Automatické položky se zobrazí proměnné a jejich aktuální hodnota. V okně Automatické položky se zobrazí všechny proměnné použité na aktuálním řádku nebo na předchozím řádku (zkontrolujte chování specifické pro jazyk).

  2. V dalším kroku se podívejte na okno Místní hodnoty na kartě vedle okna Automatické hodnoty.

  3. Rozbalte proměnnou letters , aby se zobrazily prvky, které obsahuje.

    Screenshot of the Locals Window in Visual Studio.

    V okně Místní hodnoty se zobrazí proměnné, které jsou v aktuálním oboru, tj. aktuální kontext spuštění.

Okna Automatické hodnoty a místní hodnoty zobrazují hodnoty proměnných při ladění. Okna jsou k dispozici pouze během ladicí relace. V okně Automatické položky se zobrazují proměnné použité na aktuálním řádku, na kterém je ladicí program, a na předchozím řádku. Okno Locals zobrazuje proměnné definované v místním oboru, což je obvykle aktuální funkce nebo metoda.

  1. Zatímco je ladicí program pozastavený, podívejte se do okna Automatické položky v dolní části editoru kódu.

    Pokud je okno Automatické položky zavřené, vyberte Kombinaci kláves Ctrl+D, A nebo v řádku nabídek zvolte Ladit>>automatické okna.

  2. Pokud je ladicí program stále pozastavený, zobrazte okno Místní hodnoty na kartě vedle okna Automatické.

    Pokud je okno Místní hodnoty zavřené, vyberte Ctrl+D, L nebo zvolte Ladit>místní prostředí Windows.>

  3. V okně Místní hodnoty rozbalte letters proměnnou, aby se zobrazily její prvky pole a jejich hodnoty.

    Screenshot of the Locals window in Visual Studio 2022, with the 'letters' array variable expanded.

Další informaceoch

Nastavení hodinek

V hlavním okně editoru kódu klikněte pravým tlačítkem myši na proměnnou name a zvolte Přidat kukátko.

Okno Kukátko se otevře v dolní části editoru kódu. Okno Kukátko můžete použít k určení proměnné (nebo výrazu), na kterou chcete mít přehled.

Teď máte pro proměnnou nastavenou kukátku name a při procházení ladicím programem uvidíte její změnu hodnoty. Na rozdíl od ostatních oken proměnných okno Kukátko vždy zobrazuje proměnné, které sledujete (jsou neaktivní, když jsou mimo rozsah).

Můžete zadat proměnnou nebo výraz, na který chcete při procházení kódu sledovat – přidáním do okna Kukátko .

  1. Když je ladicí program pozastavený, klikněte pravým tlačítkem myši na name proměnnou a zvolte Přidat kukátku.

    Ve výchozím nastavení se otevře okno Kukátko v dolní části editoru kódu.

  2. Teď, když jste nastavili sledování name proměnné, projděte si kód, abyste viděli hodnotu name změny proměnné s každou for iterací smyčky.

    Na rozdíl od ostatních oken proměnných se v okně Kukátko vždy zobrazují proměnné, které sledujete. Proměnné, které jsou mimo rozsah, se zobrazují jako nedostupné.

Další informace o okně Kukátko najdete v tématu Sledování proměnných s okny kukátka.

Prozkoumání zásobníku volání

  1. Zatímco provádění kódu je pozastaveno ve for smyčce, vyberte okno Zásobník volání, které je ve výchozím nastavení otevřené v pravém dolním podokně.

    Pokud je zavřený, otevřete ho při pozastavení v ladicím programu tak, že zvolíte Ladění>zásobníku volání systému Windows.>

  2. Několikrát vyberte klávesu F11 , dokud se v SendMessage metodě nezobrazí pozastavení ladicího programu. Podívejte se do okna Zásobník volání.

    Screenshot of the Call Stack window in Visual Studio.

    Okno Zásobník volání zobrazuje pořadí, ve kterém se volají metody a funkce. Horní řádek zobrazuje aktuální funkci (metodu SendMessage v této aplikaci). Druhý řádek ukazuje, že SendMessage byl volána z Main metody atd.

    Poznámka:

    Okno Zásobník volání je podobné perspektivě ladění v některých prostředích ID, jako je Eclipse.

    Zásobník volání je dobrý způsob, jak prozkoumat a pochopit tok provádění aplikace.

    Poklikáním na řádek kódu se můžete podívat na tento zdrojový kód, který také změní aktuální obor při kontrole ladicím programem. Tato akce nepřevádí ladicí program.

    K dalším věcem můžete také použít nabídky po kliknutí pravým tlačítkem myši z okna Zásobník volání. Do zadaných funkcí můžete například vložit zarážky, přejít ladicí program pomocí příkazu Run to Cursor a prozkoumat zdrojový kód. Další informace naleznete v tématu Postupy: Prozkoumání zásobníku volání.

Zásobník volání vám může pomoct pochopit tok provádění vaší aplikace zobrazením pořadí, ve kterém se volají metody a funkce.

  1. Zatímco ladicí program je pozastavený ve for smyčce, zobrazte okno Zásobník volání, které se ve výchozím nastavení otevře v pravém dolním podokně editoru kódu.

    Pokud je okno Zásobník volání zavřené, vyberte Ctrl+D, C nebo zvolte Ladit>zásobník volání systému Windows>z řádku nabídek.

    V okně Zásobník volání se u aktuální Main metody zobrazí žlutý ukazatel.

  2. Několikrát vyberte klávesu F11 , dokud se v SendMessage metodě nezobrazí pozastavení ladicího programu.

    Horní řádek okna Zásobník volání zobrazuje aktuální funkci, což je SendMessage metoda. Druhý řádek ukazuje, že SendMessage metoda byla volána z Main metody.

    Screenshot of the Call Stack window in Visual Studio 2022.

    Poznámka:

    Okno Zásobník volání je podobné perspektivě ladění v některých prostředích ID, jako je Eclipse.

    V okně Zásobník volání můžete poklikáním na řádek kódu přejít do tohoto zdrojového kódu, který změní aktuální obor v rámci kontroly ladicím programem. Tato akce nepřevádí ladicí program.

    K dalším věcem můžete také použít nabídky po kliknutí pravým tlačítkem myši z okna Zásobník volání. Do zadaných funkcí můžete například vložit zarážky, převést ladicí program pomocí příkazu Spustit na kurzor nebo přejít do zdrojového kódu.

Další informace o zásobníku volání najdete v tématu Postupy: Prozkoumání zásobníku volání.

Změna toku provádění

  1. Stisknutím klávesy F11 spusťte metodu Console.WriteLine dvakrát.

  2. S ladicí program pozastavený ve SendMessage volání metody, pomocí myši uchopte žlutou šipku nebo ukazatel provádění (v levém okraji) a přetáhněte ukazatel nahoru o jeden řádek na Console.WriteLine příkaz.

  3. Stiskněte klávesu F11.

    Ladicí program znovu spustí metodu Console.WriteLine (tuto akci uvidíte ve výstupu okna konzoly).

    Změnou toku provádění můžete provádět například testování různých cest spuštění kódu nebo opětovné spuštění kódu bez restartování ladicího programu.

    Upozorňující

    U této funkce často musíte být opatrní a v popisu se zobrazí upozornění. Může se zobrazit i další upozornění. Přesunutí ukazatele nemůže vrátit aplikaci do dřívějšího stavu aplikace.

  4. Stisknutím klávesy F5 pokračujte ve spuštění aplikace.

    Blahopřejeme k dokončení tohoto kurzu!

Ukazatel provádění můžete při ladění přesunout a změnit tok aplikace.

  1. Když je ladicí program pozastavený při SendMessage volání metody ve for smyčce, vyberte F11 třikrát, aby se krok do SendMessage metody a po jeho provedení přesunula za metodu Console.WriteLine .

    Ladicí program je nyní pozastavený na poslední pravou složenou závorku SendMessage metody.

  2. Pomocí myši uchopte žlutou šipku nebo ukazatel provádění (na levém okraji) a přetáhněte ukazatel nahoru o jeden řádek.

    Ladicí program je teď zpátky v Console.WriteLine příkazu.

  3. Vyberte F11.

    Ladicí program znovu spustí metodu Console.WriteLine a ve výstupu okna konzoly se zobrazí duplicitní řádek.

  4. Výběrem klávesy F5 pokračujte ve spuštění aplikace.

Změnou toku provádění můžete provádět například testování různých cest spuštění kódu nebo opětovné spuštění kódu bez restartování ladicího programu.

Upozorňující

Tuto funkci používejte opatrně. V popisu ukazatele provádění se zobrazí upozornění na možnost nezamýšlených důsledků. Může se zobrazit i další upozornění. Přesunutí ukazatele provádění nemůže vrátit aplikaci do dřívějšího stavu.

Další informace o změně toku provádění najdete v tématu Přesunutí ukazatele na změnu toku provádění.

Blahopřejeme k dokončení tohoto kurzu!

Další kroky

V tomto kurzu jste se naučili, jak spustit ladicí program, procházet kód a kontrolovat proměnné. Možná budete chtít získat základní přehled o funkcích ladicího programu spolu s odkazy na další informace.