Tato dokumentace se zaměřuje na časté dotazy týkající se funkcí ladění v sadě Visual Studio. Mapuje také úlohy ladění a problémy na příslušnou funkci v ladicím nástroji Visual Studio. Tyto odkazy zahrnují úlohy nebo problémy, jako je ladění vícevláknových aplikací, navigace v kódu, únik paměti, kontrola proměnných, použití ladičů, ladění externího kódu a mnoho dalších. Pokud potřebujete přehled funkcí ladicího programu, podívejte se Nejprve se podívejte na ladicí program.
Zarážky
Jak pozastavit spuštění kódu a zkontrolovat řádek kódu, který může obsahovat chybu?
Nastavte bod přerušení. Další informace najdete v tématu Použití správného typu zarážky a Začínáme se zarážkami.
Jak pozastavit spouštění kódu na základě konkrétních kritérií?
Nastavte správný typ zlomového bodu. Další informace naleznete v tématu Použití správného typu zarážky.
Jak můžu 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. Další informace najdete v tématu Použití trasovacích bodů v ladicím programu sady Visual Studio
Spravovat a sledovat moje body přerušení
Použijte okno breakpointy. Další informace najdete v tématu Správa zarážek.
Pozastavit kód a ladit, když se vyvolá konkrétní obslužná nebo neošetřená výjimka
Přestože Pomocník pro výjimky ukazuje, kde došlo k chybě, pokud chcete pozastavit program a ladit konkrétní chybu, můžete říci ladicímu programu, aby se přerušil, když je vyvolána výjimka.
Nastavit zarážku 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 okně Zásobník volání okna, přečtěte si téma Nastavení zarážky v okně zásobníku volání.
pozastavit kód na konkrétní instrukci v assembleru
Můžete to udělat tak, že nastavíte bod přerušení v okně disassembleru.
Navigace v kódu
Jak zjistím příkazy pro procházení kódu při ladění?
Další informace naleznete v tématu Procházení kódu pomocí ladicího programu.
Můžu spustit kód až po konkrétní řádek a přitom přeskočit zarážky bez jejich odebrání nebo zakázání?
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é všechny podmínky přerušení při prvním výskytu výjimek, které mohou nastat. Další informace naleznete v tématu Procházení 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, která vás zajímá.
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í datových tipů nebo zkontrolujte proměnné v okně Automatické a Lokální.
můžu sledovat měnící se hodnotu konkrétní proměnné?
Nastavte sledování proměnné. Další informace najdete v tématu Sledování proměnných.
Jak můžu zobrazit ř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 zahrnuje 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ých vizualizérů.
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 nespusl(a) ze sady Visual Studio?
Jak se můžu opakovaně připojit ke stejné aplikaci?
Pomocí Znovu připojit k procesu (Shift+Alt+P) můžete snadno začít ladit vaši aplikaci na jedno kliknutí, aniž byste museli pokaždé procházet dialogem Připojit k procesu. Viz Opětovné připojení k procesu
Ladění vícevláknových aplikací
Jak můžu odladit vícevláknovou aplikaci? Nebo je moje aplikace v zablokovaném stavu?
Další řešení potíží najdete v okně Paralelní zásobníky
Jak zobrazím pořadí, ve kterém se volají funkce?
Podívejte se na Jak zobrazit zásobník volání.
Analýza paměti
Má moje aplikace únik 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ěť Visual Studio prostřednictvím živého ladění, výpisů haldy paměti nebo výkonového profileru.
Viz Zvolit nástroj 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 porovnání. Viz Analýza využití paměti.
Ladění externího kódu
Mohu vidět pouze uživatelský kód při ladění?
Just My Code je funkce ladění sady Visual Studio, která automaticky přeskočí volání systému, frameworku a jiného neuživatelského kódu. V okně Zásobník volání Just My Code sbalí tato volání do rámců [Externí kód]. Viz Ladit pouze uživatelský kód s funkcí Just My Code
Jak můžu zobrazit nebo ladit nezpracované pokyny k sestavení, které můj program spouští?
Použijte okno rozkladu kódů z Debug > Windows > Disassembly. Můžete postupně přejít přes jednotlivé instrukce a dokonce nastavit breakpointy na konkrétní instrukce sestavení.
Můžu zobrazit zdrojový kód pro knihovny .NET?
Povolte servery symbolů Microsoftu z možností ladění > možnosti > symboly, abyste mohli stahovat symboly a zdroje 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?
Servery symbolů nakonfigurujte z možností ladění >> symbolů. Viz Zadání symbolu
Jak zajistit, abych nikdy nenačítal konkrétní soubor PDB? Nebo jak ho vždy načíst?
Nakonfigurujte seznamy zahrnutí a vyloučení v možnosti ladění symbolů >>.
Viz Zadání symbolu
Konfigurace ladění
Jak mohu nakonfigurovat nastavení debuggeru?
Informace o konfiguraci možností ladicího programu a nastavení projektu ladicího programu najdete v tématu Nastavení ladicího programu apřípravy .
Jak mohu upravit 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. Pro pokročilejší možnosti můžete také vytvářet vlastní vizualizaci přizpůsobením uživatelského rozhraní. Pro nativní jazyk C++ použijte rozhraníNatVis .
Další úkoly
Musím uložit výpis paměti?
Při zastavení chyby nebo zarážky během ladění vyberte Ladit > Uložit výpis paměti jako. Zobrazit výpisu souborů
Jak můžu analyzovat soubor s výpisem?
Otevřete výpis tak, že v sadě Visual Studio zvolíte Soubor > Otevřít. Pokud chcete spustit ladění, vyberte Ladit pouze se spravovanými, Ladění pouze s nativními, Ladění se smíšenýminebo Ladění pomocí spravované paměti. Zobrazení souborů výpisu stavu systému
Mohu upravit kód během debugovací relace?
Použijte Hot Reload, dříve nazývané Upravit a pokračovat. Pro XAML použijte XAML Hot Reload.
Jak můžu ladit na vzdálených počítačích?
Jak můžu opravit problémy s výkonem?
Jak můžu opravit výjimku?
Viz Oprava výjimky.