Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Tento článek představuje nástroje ladicího programu poskytované Visual Studio. Když v kontextu Visual Studio debugujete aplikaci, obvykle to znamená, že spouštíte aplikaci s připojeným ladicím programem (to znamená v režimu ladicího programu). Když to uděláte, ladicí program nabízí mnoho způsobů, jak zjistit, co váš kód dělá během jeho běhu. Můžete procházet kód a podívat se na hodnoty uložené v proměnných, můžete nastavit kukátky na proměnných, abyste viděli, kdy se hodnoty mění, můžete prozkoumat cestu provádění kódu atd. Pokud s laděním teprve začínáte pracovat, můžete si přečíst Ladění pro absolutní začátečníky, než přejdete k tomuto článku. Pokud se pokoušíte provést konkrétní úlohu a potřebujete vědět, jakou funkci použít, podívejte se na vyhledání funkcí ladicího programu. Pokud chcete vyzkoušet ladění s asistencí umělé inteligence, přečtěte si téma Debug s Copilot.
Funkce popsané zde platí pro C#, C++, Visual Basic, JavaScript a další jazyky podporované Visual Studio (s výjimkou případů, kdy je uvedeno).
Nastavení zarážky a spuštění ladicího programu
Zarážky jsou užitečnou funkcí, když znáte řádek kódu nebo oddíl kódu, který chcete podrobně prozkoumat za běhu. Další informace o různých typech zarážek, jako jsou podmíněné zarážky a zarážky funkcí, najdete v tématu Použití zarážek.
K ladění je potřeba spustit aplikaci pomocí ladicího programu připojeného k procesu aplikace. Postup:
- Stiskněte F5 (Debug Spustit ladění), což je nejběžnější metoda.
Možná ještě nemáte nastavené žádné body přerušení pro zkoumání kódu vaší aplikace. Jakmile nastavíte zarážky, můžete začít s laděním. Breakpointy jsou nejzákladnější a nejdůležitější funkcí spolehlivého ladění. Zarážka označuje, kde by mělo Visual Studio zastavit váš spuštěný kód, abyste se mohli podívat na hodnoty proměnných, na chování paměti nebo jestli se větev kódu spouští či nikoliv.
Pokud máte otevřený soubor v editoru kódu, můžete nastavit zarážku kliknutím na okraj vlevo od řádku kódu.
Nastav zarážkuNastav zarážku
Stiskněte F5 (Ladění Spustit ladění) nebo tlačítko Spustit laděníSpustit laděníSpustit ladění na panelu nástrojů ladění a ladicí program pokračuje až k první zarážce, na kterou narazí. Pokud aplikace ještě neběží, klávesou F5 se spustí ladicí program, který se zastaví na prvním breakpointu.
Úpravy živého kódu
Visual Studio 2022 podporuje úpravy živého kódu při ladění. Podrobné informace najdete tady:
- Psaní a ladění spuštěného kódu
- Psát a ladit běžící XAML kód pomocí XAML Opětovné načítání za provozu
- Upravit a pokračovat
Navigujte v ladicím programu pomocí jednokrokových příkazů
Pro většinu příkazů poskytujeme klávesové zkratky, protože usnadňují navigaci v kódu vaší aplikace. (Ekvivalentní příkazy, jako jsou příkazy nabídky, se zobrazují v závorkách.) Další podrobnosti o použití krokovacích příkazů naleznete v tématu Procházení kódu v ladicím programu.
Pokud chcete spustit aplikaci s připojeným ladicím programem, stiskněte F11 (Ladění Vstoupit do). F11 je příkaz Krok do a postupně provede provádění aplikace jedním příkazem. Když spustíte aplikaci pomocí klávesy F11, ladicí program se přeruší u prvního příkazu, který se spustí.
F11 vstoupit doF11 vstoupit do
Žlutá šipka představuje příkaz, na kterém byl ladicí program pozastaven, což také pozastaví provádění aplikace ve stejném okamžiku (tento příkaz ještě není spuštěn).
F11 je dobrý způsob, jak prozkoumat tok provádění v nejpodrobnějších podrobnostech. (Abychom mohli procházet kód rychleji, ukážeme vám i některé další možnosti.) Ladicí program ve výchozím nastavení přeskočí kód bez uživatele (pokud chcete další podrobnosti viz Pouze můj kód).
Poznámka
Ve spravovaném kódu se zobrazí dialogové okno s dotazem, jestli chcete být upozorněni při automatickém procházení vlastností a operátorů (výchozí chování). Pokud chcete nastavení později změnit, zakažte nastavení Krok nad vlastnostmi a operátory v podokně Nástroje Možnosti v části Všechna nastaveníLaděníObecné.
Poznámka
Ve spravovaném kódu se zobrazí dialogové okno s dotazem, jestli chcete být upozorněni při automatickém procházení vlastností a operátorů (výchozí chování). Pokud chcete nastavení později změnit, zakažte nastavení Krok nad vlastnostmi a operátory v dialogovém okně Nástroje Možnosti v části Ladění.
Krokování kódu pro přeskočení funkcí
Když jste na řádku kódu, který volá funkci nebo metodu, můžete místo F11 stisknout F10 (Debug Step Over).
F10 posune ladicí program kupředu bez vstupu do funkcí nebo metod v kódu aplikace (kód se stále spouští). Stisknutím klávesy F10 můžete přeskočit kód, který vás nezajímá. Tímto způsobem se můžete rychle dostat k kódu, který vás zajímá více. Další podrobnosti o použití krokovacích příkazů viz téma Procházení kódu v ladicím programu.
Posunout ladicí program mimo aktuální funkci
Někdy můžete chtít pokračovat v ladicí relaci, ale projet ladicí program celou aktuální funkcí.
Stiskněte Shift + F11 (nebo ladění Krokovat ven).
Tento příkaz obnoví provádění aplikace (a posune ladicí program), dokud se aktuální funkce nevrátí.
Rychlé přecházení na bod v kódu pomocí myši
Použití tlačítka Spustit kliknutím na se podobá nastavení dočasné zarážky. Tento příkaz je také užitečný k rychlému seznámení s viditelnou oblastí kódu aplikace. Můžete použít Spustit na Kliknutí v libovolném otevřeném souboru. Další podrobnosti o této funkci a podobných navigačních funkcích najdete v tématu Spuštění do konkrétního umístění v kódu.
V ladicím programu umístěte kurzor na řádek kódu, dokud se vpravo nezobrazí tlačítko Run to Click (Spustit sem). 
V ladicím programu najeďte myší na řádek kódu, dokud se vlevo nezobrazí tlačítko Run to Click (Proběhnout až sem). 
Poznámka
Tlačítko Run to Click (Spustit sem) je k dispozici od verze Visual Studio 2017.
Klikněte na tlačítko Spustit a klikněte na tlačítko (spuštění sem). Ladicí program se posune na řádek kódu, na který jste klikli.
Spustit na kurzor
Při úpravě kódu (místo pozastavení v ladicím programu) klikněte pravým tlačítkem myši na řádek kódu v aplikaci a zvolte Spustit do kurzoru (nebo stiskněte CtrlF10). Tento příkaz spustí ladění a nastaví dočasný bod přerušení na aktuálním řádku kódu. Další podrobnosti o této funkci a podobných navigačních funkcích najdete v tématu Spuštění do konkrétního umístění v kódu.
Snímek obrazovky znázorňující možnost Spustit na kurzor. Spustit na kurzor.
Spustit na kurzorSpustit na kurzor
Pokud nastavíte zarážky, ladicí program se pozastaví na první zarážce, na kterou narazí.
Stiskněte F5, dokud se nedostanete na řádek kódu, ve kterém jste vybrali Spustit na kurzor.
Tento příkaz je užitečný při úpravách kódu a chcete rychle nastavit dočasnou zarážku a spustit ladicí program najednou.
Poznámka
V okně zásobníku volání můžete během ladění použít Run to Cursor.
Rychlé restartování aplikace
Na panelu nástrojů ladění vyberte tlačítko RestartovatRestartovat aplikaci (nebo stiskněte Ctrl + Shift + F5).
Když stisknete Restartovat, ušetříte čas oproti zastavení aplikace a opětovnému spuštění ladicího programu. Ladicí program se pozastaví na prvním bodu přerušení, ke kterému dojde při spuštění kódu.
Pokud chcete zastavit ladicí program a vrátit se zpět do editoru kódu, můžete stisknout červené tlačítko zastavení Zastavit laděníZastavit ladění místo Restartovat.
Prohlížení proměnných pomocí datových tipů
Teď, když už se trochu orientujete, máte dobrou příležitost začít zkoumat stav aplikace (proměnné) pomocí ladicího programu. Funkce, které umožňují zkontrolovat proměnné, jsou některé z nejužitečnějších funkcí ladicího programu a existují různé způsoby, jak to udělat. Při pokusu o ladění problému se často pokoušíte zjistit, jestli proměnné ukládají hodnoty, které očekáváte, že budou mít v určitém stavu aplikace. Podrobné informace o používání datových tipů najdete v tématu Zobrazení hodnot dat v datových tipech.
Během pozastavení ladicího programu najeďte myší na objekt a uvidíte jeho hodnotu nebo výchozí hodnotu vlastnosti.
Zobrazení datového tipuZobrazení datového tipu
Pokud má proměnná vlastnosti, můžete objekt rozbalit, aby se zobrazily všechny jeho vlastnosti.
Při ladění často chcete rychle zkontrolovat hodnoty vlastností u objektů a tipy k datům jsou dobrým způsobem, jak to udělat.
Kontrola proměnných pomocí oken Automatické hodnoty a Místní hodnoty
V okně Autos uvidíte proměnné spolu s jejich aktuální hodnotou a jejich typem. Okno Automatické zobrazuje všechny proměnné použité na aktuálním řádku nebo na předchozím řádku. V jazyce C++ se v okně zobrazují proměnné v předchozích třech řádcích kódu. Podívejte se do dokumentace pro chování specifické pro jednotlivé jazyky. Další informace o použití těchto oken naleznete v tématu Kontrola proměnných v oknech Automatické a Místní proměnné.
Při ladění se podívejte na okno Autos v dolní části editoru kódu.
Snímek obrazovky s oknem AutomatickéOkno Automatické
okno automobilu okno automobilu
Poznámka
V JavaScriptu je okno Místní podporováno, ale okno Automatické není.
Dále se podívejte na okno Místní hodnoty. V okně Locals se zobrazí proměnné, které jsou právě v dosahu.
Snímek obrazovky znázorňující okno Místní hodnoty. Okno Místní hodnoty.
okno místníokno místní
V tomto příkladu jsou v oboru jak objekt , tak i objekt . Další informace najdete v tématu Kontrola proměnných v oknech Automatické a Místní.
Nastavení hodinek
Pomocí okna Kukátko můžete zadat proměnnou (nebo výraz), na kterou chcete mít přehled. Podrobné informace naleznete v tématu Nastavení sledování pomocí oken Sledování a Rychlé sledování.
Při ladění klikněte pravým tlačítkem myši na objekt a zvolte Přidat sledování.
Snímek obrazovky znázorňující okno Kukátko.
sledovací oknosledovací okno
V tomto příkladu máte na objektu nastavené hodinky a při pohybu ladicím programem uvidíte změnu jejich hodnoty. Na rozdíl od ostatních oken proměnných, okna Watch vždy zobrazují proměnné, které sledujete (jsou zobrazeny šedě, když jsou mimo rozsah).
Prozkoumejte zásobník volání
Okno Zásobník volání zobrazuje pořadí volání metod a funkcí. Horní čára zobrazuje aktuální funkci. Druhý řádek zobrazuje funkci nebo vlastnost, ze které byla volána, a tak dále. Zásobník volání je dobrý způsob, jak prozkoumat a pochopit tok provádění aplikace. Více informací najdete v části Postupy: Prozkoumání zásobníku volání.
Poznámka
Okno Zásobník volání je podobné perspektivě ladění v některých prostředích ID, jako je Eclipse.
Při ladění vyberte okno Zásobník volání , které je ve výchozím nastavení otevřené v pravém dolním podokně.
Snímek obrazovky znázorňující okno Zásobník voláníProzkoumání zásobníku volání
Prozkoumání zásobníku voláníProzkoumání zásobníku volání
Poklikáním na řádek zdrojového kódu se můžete podívat na tento kód a tím se také změní aktuální obor, který je kontrolován ladicím programem. Tím se ladicí program neposune dál.
V okně Zásobník volání můžete také pravým tlačítkem myši použít nabídky k provádění dalších akcí. Můžete například vložit zarážky do konkrétních funkcí, restartovat aplikaci pomocí Spustit na kurzora prozkoumat zdrojový kód.
Kontrola výjimky
Když vaše aplikace vyvolá výjimku, ladicí program vás přenese na řádek kódu, který výjimku vyvolal. Pro více informací, podívejte se na Prohlédnutí výjimky s pomocí nástroje pro správu výjimek.
Pomocník výjimkyPomocník výjimky
V tomto příkladu pomocník výjimky zobrazí výjimku a chybovou zprávu, že odkaz na objekt není nastaven na instanci objektu. A říká nám, že hodnota řetězce byla null, když jste se pokusili volat metodu .
Pomocník pro výjimky je skvělá funkce, která vám může pomoci při ladění chyb. Můžete také například zobrazit podrobnosti o chybě a přidat sledování z Pomocníka výjimek. Nebo v případě potřeby můžete změnit podmínky pro vyvolání konkrétní výjimky. Další informace o zpracování výjimek v kódu naleznete v tématu Techniky ladění a nástroje.
Rozbalte uzel Nastavení výjimek, abyste viděli další možnosti, jak tento typ výjimky zpracovat, ale během této prohlídky nemusíte nic měnit.
Návod
Pokud máte Copilot, můžete získat asistenci AI při ladění výjimek. Podívejte se na tlačítko Analyzovat s Copilotem
. Další informace najdete v tématu Debug s Copilot.
Návod
Pokud máte Copilot, můžete získat pomoc s AI při ladění výjimek. Stačí najít tlačítko Ask Copilot
. Další informace najdete v tématu Debug s Copilot.
Získání pomoci s AI
Pokud máte Copilot, můžete získat pomoc s AI při ladění. Další informace najdete v tématu Debug s Copilot. Při ladění můžete také vyhledat tlačítko Analyzovat s Copilotem
. V těchto scénářích Copilot už zná kontext vašich otázek, takže v Copilot chatu nemusíte zadávat kontext sami.
Získání pomoci s AI
Pokud máte Copilot, můžete získat pomoc s AI při ladění. Další informace najdete v tématu Debug s Copilot. Při ladění můžete také vyhledat Ask Copilot
. V těchto scénářích Copilot už zná kontext vašich otázek, takže v Copilot chatu nemusíte zadávat kontext sami.
Konfigurace ladění
Projekt můžete nakonfigurovat tak, aby se sestavil jako konfigurace ladění nebo vydané verze, nakonfigurovat vlastnosti projektu pro ladění nebo nakonfigurovat obecná nastavení pro ladění. Kromě toho můžete ladicí program nakonfigurovat tak, aby zobrazoval vlastní informace pomocí funkcí, jako je DebuggerDisplay atribut nebo, pro C/C++, rozhraní NatVis.
Vlastnosti ladění jsou specifické pro každý typ projektu. Můžete například zadat argument, který se má předat aplikaci při spuštění. K vlastnostem specifickým pro projekt se dostanete tak, že kliknete pravým tlačítkem na projekt v Průzkumník řešení a vyberete Properties. Vlastnosti ladění se obvykle zobrazují na kartě Sestavení nebo Ladění v závislosti na konkrétním typu projektu.
Od Visual Studio 2022 poskytuje karta Debug pro projekty technologie .NET odkaz na uživatelské rozhraní spouštěcích profilů ladění, kde můžete nastavit vlastnosti související s laděním.
Snímek obrazovky znázorňující vlastnosti projektuVlastnosti projektu
Od Visual Studio 2022 poskytuje karta Debug pro projekty technologie .NET odkaz na uživatelské rozhraní spouštěcích profilů ladění, kde můžete nastavit vlastnosti související s laděním.
vlastnosti aplikace Projectvlastnosti aplikace Project
Ladění živých aplikací ASP.NET v Azure App Service
Chcete-li ladit služby Azure App Service, podívejte se na Ladění aplikací Azure.
Pro Visual Studio Enterprise (jenom) Snapshot Debugger pořídí snímek vašich aplikací, které jsou v provozu, když se provádí kód, který vás zajímá. Chcete-li ladicímu programu dát pokyn, aby pořídil snímek, nastavte v kódu snímkové body a protokolovací body. Debugger vám umožní přesně zjistit, co se nepovedlo, bez dopadu na provoz vaší produkční aplikace. Snapshot Debugger vám může pomoct výrazně zkrátit dobu potřebnou k vyřešení problémů, ke kterým dochází v produkčních prostředích.
Kolekce snímků je dostupná pro ASP.NET aplikace spuštěné v Azure App Service. ASP.NET aplikace musí běžet v rozhraní technologie .NET Framework 4.6.1 nebo novějším a ASP.NET Core aplikace musí běžet na technologie .NET Core 2.0 nebo novějším v Windows.
Další informace najdete v tématu Debug live ASP.NET aplikací pomocí programu Snapshot Debugger.
Zobrazení snímků zpětným krokováním s IntelliTrace (Visual Studio Enterprise)
IntelliTrace krok zpět automaticky pořídí snímek vaší aplikace při každém bodu přerušení a události kroku při ladění. Zaznamenané snímky vám umožňují vrátit se k předchozím kontrolním bodům nebo krokům a zobrazit stav aplikace, jaký byl v minulosti. Krok zpět IntelliTrace vám může ušetřit čas, když chcete zobrazit předchozí stav aplikace, ale nechcete restartovat ladění nebo znovu vytvořit požadovaný stav aplikace.
Snímky můžete procházet a zobrazovat pomocí tlačítek Krok zpět a Krok vpřed na panelu nástrojů Ladění. Tato tlačítka slouží k navigaci událostí, které se zobrazí na kartě Události v okně Diagnostické nástroje.
Další informace najdete na stránce Kontrola předchozích stavů aplikace pomocí nástroje IntelliTrace.
Ladění problémů s výkonem
Pokud vaše aplikace běží příliš pomalu nebo používá příliš mnoho paměti, možná budete muset svou aplikaci otestovat pomocí nástrojů pro profilaci v rané fázi. Další informace o nástrojích profilace, jako je nástroj Využití procesoru a Analyzátor paměti, najdete v tématu První seznámení s nástroji profilace.
Související obsah
V tomto kurzu jste se rychle podívali na mnoho funkcí ladicího programu. Můžete se podrobněji podívat na některou z těchto funkcí, jako jsou zarážky.
Naučte se používat zarážky