Principy ladicího programu .NET v sadě Visual Studio

Dokončeno

V předchozí lekci jste se dozvěděli, že ladicí program vám pomůže řídit provádění programu a sledovat jeho stav. V této části se dozvíte, jak provádět obě tyto úlohy v sadě Visual Studio.

Začněme tím, že se naučíme používat ladicí program sady Visual Studio s .NET.

Začínáme s ladicím nástrojem Visual Studio

Pomocí tlačítka Start (plný zelený trojúhelník) na panelu příkazů sady Visual Studio spusťte aplikaci s připojeným ladicím programem. Všimněte si, že panel příkazů teď obsahuje název projektu. Po spuštění aplikace budou k dispozici další nástroje a funkce ladění.

Snímek obrazovky s ovládacími prvky ladění sady Visual Studio

  1. Konfigurace řešení určuje, jestli se má naše aplikace spustit v režimu ladění nebo vydané verze.
  2. Konfigurace platformy určuje cílovou platformu procesoru.
  3. Spustí aplikaci s připojeným ladicím programem.
  4. Spustí aplikaci bez připojeného ladicího programu.

Řízení provádění

Po spuštění aplikace se vedle tlačítka Start , na které jste klikli, zobrazí ovládací prvky ladění.

Snímek obrazovky s ovládacími prvky provádění ladicího programu sady Visual Studio

  • 1) Pokračovat nebo pozastavit provádění. Pokud je provádění na zarážce pozastavené, pokračujte výběrem tohoto tlačítka, dokud nedojde k dosažení další zarážky. Pokud program běží, přepne se toto tlačítko na tlačítko pro pozastavení, kterým můžete provádění pozastavit.
  • 2) Ovládací prvky opětovného načítání za provozu. Tato funkce, která byla představena v sadě Visual Studio 2022, umožňuje provádět změny a aktualizovat kód bez restartování aplikace.
  • 3) Zastavit. Toto tlačítko zastaví spuštěnou aplikaci, která také odpojila ladicí program.
  • 4) Restartujte. Zastaví a znovu připojí aplikaci pomocí připojeného ladicího programu.
  • 5) Vstupte do. Pokud je dalším příkazem volání funkce, přesuňte se dolů na první příkaz kódu této funkce (stejný jako step příkaz).
  • 6) Krok za krokem. Pokud je dalším příkazem volání funkce, spusťte kód, ale okamžitě přejděte na další řádek kódu v aktuální funkci.
  • 7) Vystupte. Pokud jste uvnitř funkce, spusťte zbývající kód této funkce a přejděte zpět na příkaz po počátečním volání funkce (totéž jako out příkaz).

Zarážky jsou jednou ze základních funkcí ladění a integrují se s těmito ovládacími prvky. Pojďme je tedy podrobněji prozkoumat.

Zarážky

Jak jste se dozvěděli v předchozí lekci, pomůže vám ladicí program analyzovat a řídit provádění programu. Když spustíte aplikaci s připojeným ladicím programem sady Visual Studio, začne se váš kód okamžitě spouštět. Protože provádění kódu je velmi rychlé, musíte být schopni program pozastavit u jakéhokoli příkazu. K tomu slouží zarážky .

Zarážku v sadě Visual Studio můžete přidat kliknutím na levou stranu čísla řádku na řádku, který chcete přerušit. Po nastavení zarážky byste měli vidět červené kolečko. Opětovným výběrem červeného kolečka zarážku odeberete.

Snímek obrazovky s přerušovacím bodem přidaným v okně editoru Visual Studio.

Pokud kliknete pravým tlačítkem myši a přidáte zarážku nebo kliknete pravým tlačítkem myši na existující zarážku, můžete také vybrat Přidat podmíněnou zarážku. Tento speciální typ zarážky umožňuje definovat podmínku nebo kritéria pro aktivaci zarážky. Tato nabídka také umožňuje vybrat Povolit pouze v případě, že je následující zarážka vybrána pro vytvoření řetězového provádění zarážek, mimo jiné akce.

Snímek obrazovky s nastavením podmíněné zarážky v aplikaci Visual Studio

Dočasný bod přerušení můžete použít také v případě, že chcete kód přerušit jen jednou. Dočasné zarážky můžete použít tak, že kliknete pravým tlačítkem myši do sloupce zarážky a vyberete Vložit dočasnou zarážku. Dočasné zarážky se odeberou po prvním dosažení.

Trasovací body můžete přidat také tak, že kliknete pravým tlačítkem do sloupce zarážky a vyberete Vložit trasovací bod. Trasovací body umožňují protokolovat informace do okna Výstup za konfigurovatelných podmínek, aniž byste museli upravovat nebo zastavovat provádění kódu.

Nakonec v okně Zarážky (Debug>Windows>Zarážky) můžete zobrazit a přepínat všechny zarážky, které jste umístili do svého kódu. Můžete také přepínat možnosti přerušení u zachycených nebo nezachycených výjimek. Pomocí panelu Breakpoints můžete zkontrolovat stav programu a trasovat zpět zdroj výjimky pomocí Call stack, když nastane.

Snímek okna Zarážek ve Visual Studiu

Nástroje pro ladění sady Visual Studio

Po nastavení zarážek a spuštění aplikace se na obrazovce zobrazí nová informační okna a ovládací prvky.

Snímek obrazovky s přehledem ladicího programu sady Visual Studio

  1. Ovládání spuštění ladicího programu
  2. Aktuální bod přerušení a řádek spuštění.
  3. Okno sledování hodnot proměnných
  4. Okno Zarážky pro zobrazení všech zarážek

Můžete také přistupovat k dalším užitečným oknům ladění výběrem možnosti Ladicí>okna v horní navigační liště. Mezi běžně používané nástroje patří například:

  1. Okno Zásobník volání: Umožňuje zobrazit, které metody byly volány.
  2. Okamžité okno: Umožňuje psát a vyhodnocovat výrazy při ladění.
  3. Okno Automatické položky: Automaticky přidává sledování proměnných v aktuálním kontextu.
  4. Výstupní okno: Zobrazuje výstup příkazů protokolování nebo kód, který zapisuje do konzole.

Snímek obrazovky s možnostmi okna ladění sady Visual Studio

Sledování a úprava stavu proměnných

Při analýze příčiny chyby programu můžete sledovat stav proměnných a hledat neočekávané změny. V sadě Visual Studio existuje několik možností okna kukátka, které můžete použít v různých kontextech ladění k monitorování stavu proměnných.

  1. Sledovací okno: Umožňuje sledovat vybrané proměnné a výrazy v průběhu času při ladění.
  2. Okno místních proměnných: Automaticky zobrazuje proměnné v aktuálním rozsahu spuštění a kontextu.
  3. Automatické okno: Automaticky zobrazí libovolnou proměnnou použitou na aktuálně prováděném nebo předchozím řádku.
  4. Okamžité okno: Umožňuje vyhodnotit výrazy a proměnné živě při ladění.

Snímek obrazovky okna Autos v sadě Visual Studio

Většina z těchto oken také umožňuje poklikání na hodnotu proměnné a změnit její hodnotu při ladění.

Okno Kukátko je užitečné pro sledování proměnných během provádění kódu. V editoru můžete kliknout pravým tlačítkem myši na proměnnou a vybrat Přidat, abyste mohli sledovat. Tato proměnná se teď zobrazí v okně kukátka a automaticky se aktualizuje při provádění vaší aplikace.

Můžete také kliknout pravým tlačítkem myši na proměnné v oknech Automatické nebo Lokální a přidat je ke sledování.

Dalším produktivním způsobem, jak zobrazit a analyzovat informace o proměnných během ladění, je použití DataTips. Když se zastavíte na zarážce, najeďte myší na libovolnou proměnnou v aktuálním oboru. Zobrazí se popis data zobrazující název a aktuální hodnotu vlastností proměnné. Když najedete myší na parametr funkce nebo proměnnou přímo v okně editoru, můžete si také prohlédnout její hodnotu.

Zásobník volání

Vždy, když váš program vkročí do nějaké funkce, přidá se do zásobníku volání položka. Když se vaše aplikace stává složitou a funkce jsou volány v jiných funkcích mnohokrát, zásobník volání představuje stopu těchto volání.

Je užitečné najít zdroj výjimky. Pokud v programu dojde k neočekávanému chybovému ukončení, často se v konzole zobrazí něco jako v následujícím příkladu:

Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array.
   at OrderProcessor.OrderQueue.ProcessNewOrders(String[] orderIds) in C:\Users\Repos\OrderProcessor\OrderQueue.cs:line 12
   at OrderProcessor.Program.Main(String[] args) in C:\Users\Repos\OrderProcessor\Program.cs:line 9

Skupina at [...] řádků pod chybovou zprávou se nazývá zásobníková stopa . Tento zásobník vypisuje název a původ každé funkce, která byla před ukončením s výjimkou volána. Může ale být trochu obtížné dešifrovat, protože zahrnuje také interní funkce z modulu runtime .NET.

Tady je užitečné okno zásobníku volání sady Visual Studio. V tomto panelu jsou nežádoucí informace standardně odfiltrovány a zobrazují se jen relevantní funkce z vašeho vlastního kódu. Potom můžete tento zásobník volání uvolnit a zjistit, odkud výjimka pochází.

Snímek obrazovky s oknem Zásobník volání

V další jednotce si projdete cvičením s využitím ladicího programu k opravě chyby v kódu Fibonacciho, který jsme viděli předtím.

Určení nastavení ladicího programu

V sadě Visual Studio můžete zadat různá nastavení chování ladicího programu. Včetně toho, jak se zobrazují proměnné, jestli se zobrazují určitá upozornění, jak jsou nastavené zarážky a jak zásadní vliv má na spuštěné programy. Projekt můžete také nakonfigurovat tak, aby se sestavil jako konfigurace ladění nebo vydané verze.

Ke konfiguraci nastavení ladicího programu použijte nabídku Nástroje>možnosti>ladění , která poskytuje různé kategorie možností. Nejběžnější možnosti jsou v kategorii Obecné .