Sdílet prostřednictvím


Vytvoření vizuální mapy zásobníku volání při ladění (C#, Visual Basic, C++, JavaScript)

Vytvořte mapu kódu pro vizuální trasování zásobníku volání při ladění. Na mapě můžete dělat poznámky, abyste mohli sledovat, co kód dělá, abyste se mohli soustředit na hledání chyb.

Podrobnosti o příkazech a akcích, které můžete použít s mapami kódu, najdete v tématu Procházení a změna uspořádání map kódu.

Důležité

Mapy kódu můžete vytvářet pouze v edici Visual Studio Enterprise.

Tady je rychlý přehled mapy kódu:

Ladění pomocí zásobníků volání v mapách kódu

Mapování zásobníku volání

  1. V projektu Visual Studio Enterprise C#, Visual Basic, C++ nebo JavaScript spusťte ladění výběrem > možnostiSpustit ladění nebo stisknutím klávesy F5.

  2. Jakmile vaše aplikace přejde do režimu přerušení nebo přejdete funkci, vyberte ladění>Mapu kódu, nebo stiskněte kombinaci kláves Ctrl+a Shift+`.

    Aktuální zásobník volání je zobrazen na nové mapě kódu oranžově.

    Zobrazení zásobníku volání na mapě kódu

Mapa kódu se automaticky aktualizuje, jak budete pokračovat v ladění. Změna položek nebo rozložení mapy nijak neovlivní kód. Nebojte se přejmenovat, přesunout nebo odebrat cokoli na mapě.

Pokud chcete získat další informace o položce, najeďte myší na ni a podívejte se na popis položky. Na panelu nástrojů můžete také vybrat legendu a zjistit, co jednotlivé ikony znamenají.

Legenda mapy kódu

Poznámka:

Zpráva Diagram může být založená na starší verzi kódu v horní části mapy kódu znamená, že se kód mohl po poslední aktualizaci mapy změnit. Volání na mapě už například nemusí existovat v kódu. Zavřete zprávu a potom zkuste znovu sestavit řešení před opětovnou aktualizací mapy.

Mapování externího kódu

Ve výchozím nastavení se na mapě zobrazí jenom váš vlastní kód. Zobrazení externího kódu na mapě:

  • Klikněte pravým tlačítkem v okně Zásobník volání a vyberte Zobrazit externí kód:

    Zobrazení externího kódu pomocí okna zásobníku volání

  • Nebo zrušte zaškrtnutí políčka Povolit pouze můj kód v sadě Visual Studio:

    Tato možnost je dostupná v podokně Nástroje (nebo Ladění) >Možnosti v části Všechna nastavení>Ladění>Obecné:

    Snímek obrazovky znázorňující výběr možnosti Povolit pouze můj kód v sadě Visual Studio

    Tato možnost je dostupná v dialogovém okně Nástroje (nebo Ladění) >Možnosti v sekci Ladění>Obecné:

    Zobrazení externího kódu pomocí dialogového okna Možnosti

Řízení rozložení mapy

Změna rozložení mapy nijak neovlivní kód.

Pokud chcete řídit rozložení mapy, vyberte na panelu nástrojů mapy nabídku Rozložení .

V nabídce Rozložení můžete:

  • Změňte výchozí rozložení.
  • Automatické uspořádání mapy zastavíte zrušením výběru automatického rozložení při ladění.
  • Pokud přidáváte položky, změňte uspořádání mapy co nejméně tak, že zrušíte výběr přírůstkového rozložení.

Vytváření poznámek k kódu

Přidáním komentářů můžete sledovat, co se děje v kódu.

Pokud chcete přidat komentář, klikněte pravým tlačítkem na mapu kódu a vyberte Upravit>nový komentář a zadejte komentář.

Pokud chcete do komentáře přidat nový řádek, stiskněte Shift+Enter.

Přidat komentář ke call stacku na mapě kódu

Aktualizujte mapu s dalším zásobníkem volání

Když aplikaci spustíte na další zarážku nebo krok do funkce, mapa automaticky přidá nové zásobníky volání.

Aktualizujte mapu kódu s následujícím zásobníkem volání

Pokud chcete zastavit automatické přidávání nových zásobníků volání, vyberte Zobrazit zásobník volání na mapě kódu automaticky na panelu nástrojů mapy kódu. Mapa nadále zvýrazňuje existující zásobníky volání. Pokud chcete do mapy ručně přidat aktuální zásobník volání, stiskněte kombinaci kláves Ctrl+Shift+`.

Přidání souvisejícího kódu do mapy

Teď, když máte mapu v jazyce C# nebo Visual Basic, můžete přidat položky, jako jsou pole, vlastnosti a další metody, a sledovat, co se v kódu děje.

Pokud chcete přejít k definici metody v kódu, poklikejte na metodu v mapě nebo ji vyberte a stiskněte klávesu F12, nebo na ni klikněte pravým tlačítkem myši a vyberte Přejít na definici.

Přechod na definici kódu pro metodu na mapě kódu

Pokud chcete do mapy přidat položky, které chcete sledovat, klikněte pravým tlačítkem myši na metodu a vyberte položky, které chcete sledovat. Naposledy přidané položky se zobrazují zeleně.

Pole související s metodou v mapě kódu zásobníku volání

Poznámka:

Ve výchozím nastavení při přidání položek do mapy se přidávají i uzly skupiny rodičů, například třída, obor názvů a sestavení. Tuto funkci můžete vypnout a zapnout tak, že na panelu nástrojů mapy kódu vyberete tlačítko Zahrnout rodiče nebo stisknete klávesu Ctrl a přidáte položky.

Zobrazit pole v metodě na mapě kódu zásobníku volání

Pokračujte v vytváření mapy a zobrazte další kód.

Podívejte se na metody, které používají vlastnost: mapa kódu zásobníku volání

Metody, které používají pole na mapě kódu zásobníku volání

Vyhledání chyb pomocí mapy

Vizualizace kódu vám může pomoct rychleji najít chyby. Předpokládejme například, že zkoumáte chybu v aplikaci kreslení. Když nakreslíte čáru a pokusíte se ji vrátit zpět, nic se nestane, dokud nenakreslíte další čáru.

Proto nastavíte zarážky v metodách clear, undo a Repaint, spustíte ladění a sestavíte takovouto mapu:

Přidejte další zásobník volání do mapy kódu

Všimněte si toho, že všechna uživatelská gesta na mapě provádějí Repaint, s výjimkou undo. To může vysvětlit, proč undo nefunguje okamžitě.

Jakmile chybu opravíte a pokračujte ve spuštění aplikace, mapa přidá nové volání z undo na Repaint:

Přidat nové volání metody do zásobníku volání v mapě kódu

Sdílení mapy s ostatními

Mapu můžete exportovat, poslat ostatním pomocí Microsoft Outlooku, uložit ji do řešení a zkontrolovat ji do správy verzí.

Pokud chcete mapu sdílet nebo uložit, použijte možnost Sdílet na panelu nástrojů mapy kódu.

Sdílet mapu kódu zásobníku volání s ostatními