Upravit

Sdílet prostřednictvím


Nejčastější dotazy – Vyhledání funkcí ladicího programu

Tato dokumentace se zabývá častými dotazy k funkcím ladění v sadě Visual Studio. Mapuje také úlohy ladění nebo problémy na příslušnou funkci v ladicím programu sady Visual Studio. Tyto odkazy zahrnují úlohy nebo problémy, jako je ladění vícevláknové aplikace, navigace v kódu, nevracení paměti, kontrola proměnných, použití zarážek, ladění externího kódu a mnoho dalších. Pokud potřebujete přehled funkcí ladicího programu, podívejte se na první pohled na ladicí program .

Zarážky

  • Návody pozastavit spuštění kódu a zkontrolovat řádek kódu, který může obsahovat chybu?

    Nastavte zarážku. Další informace naleznete v tématu Použití zarážek.

  • Má proměnná neočekávanou hodnotu. Nebo chci zkontrolovat aplikaci, když dosáhne určitého stavu?

    Zkuste podmíněnou zarážku určit, kde a kdy se zarážka aktivuje pomocí podmíněné logiky. Kliknutím pravým tlačítkem myši na zarážku přidejte podmínky. Nastavte podmínku tak, aby byla true, když se proměnná rovná neočekávané hodnotě.

    Další informace najdete v tématu Podmínky zarážky.

  • Návody protokolovat informace do okna Výstup za konfigurovatelných podmínek beze změny nebo zastavení kódu?

    Trasovací body umožňují protokolovat informace do okna Výstup za konfigurovatelných podmínek beze změny nebo zastavení kódu.

  • Návody vědět, kdy se změní hodnota proměnné?

    V jazyce C++ nastavte zarážku dat.

    U aplikací používajících .NET Core 3 můžete také nastavit zarážku dat.

    V opačném případě můžete pouze pro C# a F# sledovat ID objektu pomocí podmíněné zarážky.

  • Návody přerušení provádění pouze v případě, že dojde k dosažení jiné zarážky?

    Nastavte závislá zarážku, která přeruší provádění pouze v případě, že se poprvé dosáhne jiné zarážky. Další informace naleznete v tématu Závislá zarážka.

  • Můžu zarážku stisknout jenom jednou?

    Nastavte dočasnou zarážku, která umožňuje rozdělit kód pouze jednou. Další informace naleznete v tématu Dočasné zarážky.

  • Můžu pozastavit kód uvnitř smyčky v určité iteraci?

    Nastavte závislá zarážku, která přeruší provádění pouze v případě, že se poprvé dosáhne jiné zarážky. Další informace najdete v tématu Počet hitů.

  • Jak můžu pozastavit kód na začátku funkce, když znám název funkce, ale ne jeho umístění?

    Můžete to udělat se zarážkou funkce. Další informace naleznete v tématu Nastavení zarážek funkcí.

  • Jak můžu pozastavit kód na začátku více funkcí se stejným názvem?

    Pokud máte více funkcí se stejným názvem (přetížené funkce nebo funkce v různých projektech), můžete použít zarážku funkce.

  • Správa a sledování zarážek

    Použijte okno Zarážky. Další informace najdete v tématu Správa zarážek.

  • Pozastavení kódu a ladění při vyvolání konkrétní obslužné nebo neošetřené výjimky

    Přestože pomocník výjimky ukazuje, kde došlo k chybě, pokud chcete pozastavit a ladit konkrétní chybu, můžete ladicímu programu říct, aby přerušil chybu, když je vyvolán výjimka.

  • Nastavení zarážky ze zásobníku volání

    Pokud chcete pozastavit a ladit kód při zkoumání toku provádění nebo zobrazení funkcí v oknech Zásobník volání, přečtěte si téma Nastavení zarážky v okně Zásobník volání.

  • Pozastavení kódu na konkrétní instrukci sestavení

    Můžete to provést nastavením zarážky z okna Zpětné překladu.

  • Jak zjistím příkazy pro procházení kódu při ladění?

    Další informace najdete v tématu Navigace v kódu pomocí ladicího programu.

  • Můžu kód spustit na konkrétní řádek a přeskočovat zarážky, aniž bych je odebral nebo zakázal?

    Pro tyto scénáře můžete použít možnost Vynutit spuštění do kurzoru. Zarážky můžete ponechat a ladicí program je přeskočí, dokud nedosáhne řádku kódu s kurzorem. Přeskočí také některou z případných výjimek, které mohou nastat. Další informace najdete v tématu Navigace v kódu pomocí ladicího programu.

  • Pokud má řádek kódu volání různých metod, můžu přejít ke konkrétní metodě?

    Kliknutím pravým tlačítkem myši na řádek kódu zobrazíte místní nabídku, která umožňuje vybrat Krok do konkrétního. Zobrazí se seznam všech metod, ke kterým můžete vkročit. Teď můžete vybrat metodu zájmu.

Kontrola a vizualizace dat

  • Jak můžu při spuštění aplikace zkontrolovat hodnotu proměnných?

    Najeďte myší na proměnné pomocí tipů k datům nebo zkontrolujte proměnné v okně Automatické hodnoty a Místní hodnoty.

  • Můžu sledovat změnu hodnoty konkrétní proměnné?

    Nastavte kukátku na proměnné. Další informace najdete v tématu Nastavení sledování proměnných.

  • Jak zobrazím řetězce, které jsou pro okno ladicího programu příliš dlouhé?

    Vizualizér řetězců zobrazuje řetězce, které jsou pro tip dat nebo okno ladicího programu příliš dlouhé. Může vám také pomoct s identifikací poškozených řetězců.
    Integrovaný vizualizér řetězců v sadě Visual Studio obsahuje možnosti Text, XML, HTML a JSON.

  • Jak můžu zobrazit velké objekty kolekce?

    Vizualizér datové sady umožňuje zobrazit obsah datové sady, tabulky DataTable, DataView nebo DataViewManager. Vizualizér IEnumerable umožňuje zobrazit objekty, jako jsou pole, seznam atd. Další informace najdete v tématu Tabulkové vizualizéry.

Ladění aplikace, která už běží

  • Jak můžu ladit spuštěné aplikace na místních nebo vzdálených počítačích, ladit více procesů současně, ladit aplikace, které nebyly vytvořeny v sadě Visual Studio, nebo ladit žádnou aplikaci, kterou jsem nespuskal(a) ze sady Visual Studio?

    Viz Připojení ke spuštěným procesům.

  • Jak se můžu opakovaně připojit ke stejné aplikaci?

    Pomocí příkazu Reattach to Process (Shift+Alt+P) můžete snadno spustit ladění aplikace jedním kliknutím, aniž byste museli pokaždé procházet dialog Připojit k procesu. Viz Opětovné připojení k procesu

Ladění vícevláknových aplikací

Analýza paměti

  • Dochází u aplikace k nevracení paměti?

    Pořiďte snímek a otevřete ho pomocí nástroje pro paměť, abyste mohli dál řešit potíže. Viz Měření využití paměti.

  • Jak můžu analyzovat využití paměti pro nativní nebo spravované aplikace?

    Použijte nástroj pro paměť sady Visual Studio prostřednictvím živého ladění, výpisů paměti haldy nebo profileru výkonu.
    Viz Volba nástroje pro analýzu paměti.

  • Jak můžu analyzovat využití paměti pro nativní nebo spravované aplikace bez připojení ladicího programu? Použijte profiler výkonu sady Visual Studio s povoleným nástrojem pro využití paměti.
    Viz Analýza využití paměti.

  • Můžu porovnat využití paměti mezi dvěma body v čase?

    Porovnejte snímky v nástroji pro paměť nebo porovnejte dva výpisy paměti pomocí funkce rozdílu. Viz Analýza využití paměti.

Ladění externího kódu

  • Můžu při ladění zobrazit jenom uživatelský kód?

    Just My Code je funkce ladění sady Visual Studio, která automaticky provádí kroky přes volání systému, architektury a jiného neuživatelého kódu. V okně Zásobník volání sbalí pouze můj kód tato volání do rámců [Externí kód]. Zobrazení pouze uživatelského kódu ladění pomocí pouze mého kódu

  • Jak můžu zobrazit nebo ladit nezpracované pokyny k sestavení, které program spouští?

    Použijte okno zpětného překladu z ladění > zpětného překladu systému Windows > . Jednotlivé instrukce můžete postupně zakročit a dokonce nastavit zarážky u jednotlivých instrukcí sestavení.

  • Můžu zobrazit zdrojový kód pro knihovny .NET?

    Povolte servery symbolů Microsoftu ze symbolů ladění > > , abyste mohli stahovat symboly a zdroj pro knihovny .NET. Viz Zadání symbolu

  • Jak můžu načíst soubory PDB z určitého nebo sdíleného umístění nebo serveru?

    Nakonfigurujte servery symbolů ze symbolů možností > ladění>. Viz Zadání symbolu

  • Jak můžu nikdy nenačíst konkrétní soubor PDB? Nebo jak se dá vždycky načíst?

    Nakonfigurujte seznamy zahrnutí a vyloučení v symbolech možností > ladění>.
    Viz Zadání symbolu

Konfigurace ladění

  • Návody nakonfigurovat nastavení ladicího programu?

    Informace o konfiguraci možností ladicího programu a nastavení projektu ladicího programu najdete v tématu Nastavení a příprava ladicího programu.

  • Jak můžu přizpůsobit informace zobrazené v ladicím programu?

    Můžete chtít zobrazit jiné informace než typ objektu jako hodnotu v různých oknech ladicího programu. Pro kód C#, Visual Basic, F# a C++/CLI použijte atribut DebuggerDisplay . Pokročilejší možnosti můžete také přizpůsobit uživatelské rozhraní vytvořením vlastního vizualizéru. Pro nativní jazyk C++ použijte architekturu NatVis.

Další úkoly