Sdílet prostřednictvím


Kurz: Naučte se ladit kód jazyka Visual Basic 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 přehled ladicího programu sady Visual Studio. 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í.

  • Projděte si kód a prohlédněte si hodnoty uložené v proměnných.
  • Nastavte hodinky na proměnných, abyste viděli, kdy se hodnoty mění.
  • Prozkoumejte cestu spuštění kódu a zjistěte, jestli je spuštěná větev kódu.

Pokud je toto cvičení poprvé, kdy jste se pokusili ladit kód, můžete si přečíst ladění pro absolutní začátečníky.

I když ukázková aplikace v tomto článku používá Visual Basic, většina funkcí se vztahuje na C#, C++, F#, Python, JavaScript a další jazyky podporované sadou Visual Studio. Jazyk F# nepodporuje úpravy a pokračování. F# a JavaScript nepodporují okno Autos. Snímky obrazovky jsou v jazyce Visual Basic.

V tomto kurzu se naučíte:

  • Spusťte ladicí program a stiskněte zarážky.
  • Naučte se příkazy pro krokování kódu v ladicím programu.
  • Kontrola proměnných v datových tipech a oknech ladicího programu
  • Prozkoumejte zásobník volání

Požadavky

Musíte mít nainstalovanou sadu Visual Studio, včetně pracovní zátěže vývoje na více platformách .NET Core.

  • Pokud potřebujete nainstalovat Visual Studio, podívejte se na stažení sady Visual Studio pro bezplatnou verzi.
  • Pokud potřebujete nainstalovat úlohu, ale sadu Visual Studio už máte, přejděte do části Nástroje>Získat nástroje a funkce..., čímž se otevře instalační program sady 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ě než něco přidáte!

  1. Otevřete Visual Studio. Pokud úvodní okno není otevřené, vyberte Soubor>Úvodní okno.

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

  3. V okně Vytvořit nový projekt zadejte do vyhledávacího pole konzolu. Potom v seznamu Jazyků zvolte Jazyk Visual Basic 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ší.

    Snímek obrazovky znázorňující okno Vytvořit nový projekt s konzolou ve vyhledávacím poli a jazykem Visual Basic a Windows vybraným pro filtry jazyka a platformy a vybranou šablonou projektu konzolové aplikace

    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ím programu sady Visual Studio zvolte úlohu vývoje desktopových aplikací .NET .

  4. V okně Konfigurovat nový projekt zadejte název projektuget-started-debugging. Pak vyberte Další.

  5. V okně Další informace se ujistěte, že je pro architekturuvybraná možnost .NET 10.0, a pak vyberte Vytvořit.

  1. Otevřete Visual Studio. Pokud úvodní okno není otevřené, vyberte Soubor>Úvodní okno.

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

  3. V okně Vytvořit nový projekt zadejte do vyhledávacího pole konzolu. Potom v seznamu Jazyků zvolte Jazyk Visual Basic 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ší.

    Snímek obrazovky znázorňující okno Vytvořit nový projekt v sadě Visual Studio 2022 s konzolou ve vyhledávacím poli a jazykem Visual Basic a Windows vybraným pro filtry jazyka a platformy a vybranou šablonou projektu konzolové aplikace

    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ím programu sady Visual Studio zvolte úlohu vývoje desktopových aplikací .NET .

  4. V okně Konfigurovat nový projekt zadejte název projektuget-started-debugging. Pak vyberte Další.

  5. V okně Další informace se ujistěte, že je pro architekturuvybraná platforma .NET 8.0, a pak vyberte Vytvořit.

Visual Studio otevře nový projekt.

Vytvoření aplikace

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

Imports System

Class ArrayExample
  Public Shared Sub Main()
    Dim letters As Char() = {"f"c, "r"c, "e"c, "d"c, " "c, "s"c, "m"c, "i"c, "t"c, "h"c}
    Dim name As String = ""
    Dim a As Integer() = New Integer(9) {}

    For i As Integer = 0 To letters.Length - 1
      name += letters(i)
      a(i) = i + 1
      SendMessage(name, a(i))
    Next

    Console.ReadKey()
  End Sub

  Private Shared Sub SendMessage(ByVal name As String, ByVal msg As Integer)
    Console.WriteLine("Hello, " & name & "! Count to " & msg)
  End Sub
End Class

Spusťte ladicí program!

  1. Stiskněte klávesu F5 (Debug >Spustit ladění) nebo zvolte zelené tlačítko Spustit ladění na panelu nástrojů Ladění.

    Snímek obrazovky znázorňující panel nástrojů Ladění se zvýrazněným zeleným tlačítkem Spustit ladění

    F5 spustí aplikaci s ladicím programem připojeným k procesu aplikace. Zatím jste neprovedli nic zvláštního, abyste kód prozkoumali. Aplikace se právě načte 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
    

    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 klávesy (Shift + F5) nebo vyberte červené tlačítko Zastavit ladění na panelu nástrojů Ladění.

    Snímek obrazovky s panelem nástrojů Ladění se zvýrazněným červeným tlačítkem Zastavit ladění

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

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

  1. For Ve smyčce funkce Main nastavte bod přerušení kliknutím na levý okraj následujícího řádku kódu:

    name += letters(i)

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

    Body přerušení jsou jednou z nejzákladnějších a nejzásadnějších funkcí spolehlivého ladění. Zarážka označuje, kde Visual Studio pozastaví spuštěný kód. Během pozastavení se můžete podívat na hodnoty proměnných nebo na chování paměti. Uvidíte, jestli se spouští větev kódu.

  2. Stiskněte klávesu F5 (Spustit ladění) nebo tlačítko Spustit ladění na panelu nástrojů ladění. Aplikace se spustí a debugger přejde na řádek kódu, kde jste nastavili bod přerušení.

    Snímek obrazovky znázorňující okno editoru Visual Studio Code s vykonáváním zastaveným na bodu přerušení.

    Žlutá šipka představuje příkaz, u kterého ladicí program pozastavil, což také pozastaví vykonávání aplikace ve stejném bodě. Tento příkaz ještě nebyl proveden.

    Pokud aplikace ještě není spuštěná, F5 spustí ladicí program a zastaví se na první 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 najdete v tématu Použití zarážek.

Tento článek používá klávesové zkratky, protože je to dobrý způsob, jak rychle provádět aplikaci během ladění. Zobrazuje ekvivalentní příkazy, například příkazy nabídky, v závorkách.

  1. Zatímco provádění kódu je pozastaveno ve For smyčce v Main metodě, stiskněte klávesu F11 (nebo zvolte Ladit > Krok dovnitř) a dvakrát stiskněte klávesu, abyste přešli na SendMessage volání metody.

    Po stisknutí klávesy F11 byste měli být na tomto řádku kódu:

    SendMessage(name, a(i))

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

    Žlutý ukazatel přejde do SendMessage metody.

    Snímek obrazovky znázorňující ladicí relaci v editoru Visual Studio Code s pozastaveným spuštěním po kroku do metody SendMessage

    F11 je příkaz Krok do . Postoupí spuštění aplikace po jednom příkazu. F11 je dobrý způsob, jak prozkoumat tok provádění v nejpodrobnějších podrobnostech. Ve výchozím nastavení ladicí program přeskočí neuživatelský kód. Další informace naleznete v tématu Just My Code.

    Předpokládejme, že jste dokončili zkoumání SendMessage metody a chcete se z ní dostat, ale zůstat v režimu ladění. Můžete to provést pomocí příkazu Krok ven .

  3. Stiskněte klávesu Shift + F11 (nebo Krokovat ven z ladění>).

    Tento příkaz obnoví provádění aplikace a přejde do ladicího programu, dokud aktuální metoda nebo funkce nevrátí.

    Měli byste být zpět ve For smyčce v Main metodě, pozastaveni při volání metody SendMessage.

  4. Opakovaně stiskněte klávesu SendMessage, dokud se znovu nedostanete k volání metody.

  5. Zatímco provádění kódu je pozastaveno při volání metody, stiskněte F10 (nebo zvolte Krok ladění>) jednou.

    Snímek obrazovky znázorňující ladicí relaci v editoru Visual Studio Code s pozastaveným spuštěním po vykonání kroku přes volání metody SendMessage.

    Tentokrát ladicí program nezakročí do SendMessage metody. F10 posunuje ladicí program bez krokování do funkcí nebo metod v kódu aplikace. Kód se stále spustí. Stisknutím klávesy F10 na SendMessage volání metody místo F11 jste přeskočili kód implementace pro SendMessage. Další informace o různých způsobech procházení kódu najdete v tématu Procházení kódu v ladicím programu.

  1. Dalším stisknutím klávesy F5 přejděte na zarážku.

  2. V editoru kódu se posuňte dolů a najeďte myší na metodu Console.WriteLine umístěnou v metodě SendMessage, dokud se nezobrazí zelené tlačítko Spustit na kliknutí. Popis tlačítka zobrazuje Spustit provedení do tohoto bodu.

    Snímek obrazovky znázorňující tlačítko Spustit při kliknutí se zvýrazněnou bublinou nápovědy na levé straně okna editoru kódu.

  3. Vyberte tlačítko Spustit kliknutím.

    Ladicí program se posune k metodě Console.WriteLine.

    Použití tohoto tlačítka se podobá nastavení dočasného bodu zlomu. Možnost Spustit na kliknutí je praktická k rychlému seznámení s viditelnou oblastí kódu aplikace, kterou můžete vybrat v libovolném otevřeném souboru.

Rychlé restartování aplikace

Pokud chcete aplikaci restartovat, stiskněte kombinaci kláves Ctrl + Shift + F5 . Šetří čas oproti zastavení aplikace a restartování ladicího programu. Ladicí program se pozastaví na prvním bodu přerušení, ke kterému dojde při spuštění kódu.

Ladicí program se znovu zastaví na bodu přerušení, který jste předtím nastavili uvnitř smyčky For.

Prozkoumejte proměnné pomocí datových tipů

Ladicí program obsahuje funkce, které umožňují inspektovat proměnné. Existují různé způsoby kontroly proměnných. 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.

  1. Zatímco je provádění kódu pozastaveno na příkazu name += letters[i], umístěte kurzor myši na proměnnou letters. Zobrazí se výchozí hodnota, hodnota prvního prvku v poli, "f"c.

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

  3. Několikrát stiskněte klávesu F5 (nebo Ladit>pokračovat), abyste několikrát provedli iterace smyčkou For, znovu se přerušíte na zarážce a pokaždé najeďte myší na proměnnou name, abyste zkontrolovali její hodnotu.

    Snímek obrazovky ukazující zastavené spuštění ladění v editoru kódu se zvýrazněnou proměnnou s názvem a datovou bublinou, která zobrazuje hodnotu.

    Hodnota proměnné se změní s každou iterací smyčky For, která zobrazuje hodnoty f, pak fr, pak freatd.

    Při ladění kódu často chcete rychle zkontrolovat hodnoty vlastností u proměnných a zjistit, jestli ukládají hodnoty, které očekáváte, že se mají uložit. Datové tipy jsou dobrým způsobem, jak to udělat.

Prohlížení proměnných pomocí oken Autos a Locals

  1. Podívejte se do okna Autos v dolní části editoru kódu.

    Pokud je zavřený, otevřete ho, když se v ladicím programu pozastaví provádění kódu, a to tak, že zvolíte Ladit>>automatické windows.

    V okně Autos vidíte proměnné a jejich aktuální hodnotu. V okně Autos se zobrazí všechny proměnné použité na aktuálním řádku nebo na předchozím řádku. Projděte si dokumentaci k chování specifickému pro jazyk.

  2. Podívejte se na okno Místní v záložce vedle okna Automatické.

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

    Snímek obrazovky zobrazující okno Místní proměnné s rozbalenou proměnnou 'písmena', která zobrazuje hodnotu a typ prvků, které obsahuje.

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

Nastavení hodinek

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

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

    Výchozí nastavení editoru kódu je, že se okno Watch otevře v jeho dolní části.

  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 Okno sledování vždy zobrazuje proměnné, které sledujete. Proměnné, které jsou mimo rozsah, se zobrazují jako nedostupné.

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

Prozkoumejte zásobník volání

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

    Pokud je zavřený, otevřete ho, když se v ladicím programu pozastaví provádění kódu, a to tak, že zvolíte Ladění>zásobníku volání>.

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

    Snímek obrazovky znázorňující okno Zásobník volání sady Visual Studio se zvýrazněným voláním metody SendMessage na horním řádku

    Okno Zásobník volání zobrazuje pořadí volání metod a funkcí. Horní čára zobrazuje aktuální funkci. V tomto příkladu je to metoda SendMessage. Druhý řádek ukazuje, že SendMessage byla volána z metody Main atd.

    Poznámka:

    Okno Zásobník volání je podobné perspektivě ladění v některých programovacích nástrojích, 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, což také změní aktuální kontext zkoumaný debuggerem. Tato akce neposouvá ladicí program dál.

    V okně Zásobník volání můžete také pravým tlačítkem myši použít nabídky k provádění dalších akcí. Do zadaných funkcí můžete například vložit zarážky, pokročit v ladicím programu pomocí Run to Cursor a prozkoumat zdrojový kód. Další informace naleznete v tématu Jak na to: 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. Když je ladicí program pozastaven ve SendMessage volání metody, pomocí myši uchopte žlutou šipku nebo vykonávací ukazatel v levém okraji a přetáhněte ho o jeden řádek nahoru k Console.WriteLine příkazu.

  3. Stiskněte klávesu F11.

    Ladicí program znovu spustí metodu Console.WriteLine . Tato akce se zobrazí ve výstupu okna konzoly.

    Změnou toku provádění můžete otestovat různé cesty spuštění kódu nebo znovu spustit kód bez restartování ladicího programu.

    Výstraha

    U této funkce často musíte být opatrní. V popisu je 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!

V tomto kurzu jste zjistili, 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.