Tato dokumentace se zabývá častými dotazy k funkcím ladění v Visual Studio. Mapuje také úlohy ladění nebo problémy na příslušnou funkci v ladicím programu 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 naleznete v tématu Použití trasovacích bodů v ladicím programu 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ů ve Visual Studiu 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ěží
W 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 Visual Studio nebo ladit žádnou aplikaci, kterou jsem nezačal(a) od 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 práci s pamětí ve Visual Studiu pomocí živého ladění, výpisů paměťové haldy nebo profileru výkonu.
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 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í ve Visual Studiu, která automaticky přeskakuje volání systému, rámců a jiného cizího kódu. V okně Zásobník volání Just My Code sbalí tato volání do rámců [Externí kód]. Viz Ladění pouze uživatelského kódu s funkcí Just My Code.
Jak můžu zobrazit nebo ladit nezpracované pokyny k sestavení, které můj program spouští?
Použijte okno Demontáž z nabídky Ladění > Windows > Demontáž. Můžete postupně přejít přes jednotlivé instrukce a dokonce nastavit breakpointy na konkrétní instrukce sestavení.
Všim zdrojový kód pro knihovny .NET?
Povolte symbolové servery Microsoft v ladicím programu možnosti Symboly pro stažení symbolů 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. Viz soubory s výpisem paměti.
Jak můžu analyzovat soubor s výpisem?
Otevřete výpis paměti tak, že v 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. Viz soubory s výpisem paměti.
Mohu upravit kód během debugovací relace?
Použijte Hot Reload, dříve známý jako Edit and Continue. 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?
Podívejte se nejprve na nástroje pro profilaci.
Jak můžu opravit výjimku?
Viz Oprava výjimky.
Ladění s asistencí umělé inteligence
Jak při ladění získám pomoc s AI?
Pokud máte Copilot, vyhledejte tlačítko Analyze s Copilot nebo Ask Copilot v oknech ladicího programu, jako jsou Pomocník pro výjimky, datové tipy a okna proměnných. Copilot už zná kontext ladění. Podívejte se na Debug s Copilot.
Jak se používá agent ladicího programu k řešení kompletních chyb?
Agent ladicího programu poskytuje dynamický pracovní postup, který reprodukuje chyby, nástrojově zpracovává vaši aplikaci a ověřuje opravy pomocí dat ze živého prostředí modulu runtime. V rozevíracím seznamu režimu v okně Copilot Chat vyberte Debugger a zadejte odkaz na problém nebo popište chybu. Podívejte se na řešení chyb se zástupcem ladicího programu.