Přečtěte si tipy a triky pro produktivitu ladicího programu v sadě Visual Studio.

V tomto tématu se dozvíte několik tipů a triků pro zvýšení produktivity pro ladicí program sady Visual Studio. Základní funkce ladicího programu najdete v tématu První seznámení s ladicím programem. V tomto tématu probereme některé oblasti, které nejsou součástí prohlídky funkcí.

Klávesové zkratky

Seznam nejběžnějších klávesových zkratek souvisejících s laděním najdete v části Ladění v klávesových zkratkách.

Připnutí datových tipů

Pokud při ladění často najedete myší na datové tipy, možná budete chtít připnout datový tip pro proměnnou, abyste získali rychlý přístup. Proměnná zůstane připnutá i po restartování. Pokud chcete připnout datový tip, klikněte při najetí myší na ikonu špendlíku. Můžete připnout několik proměnných.

Připnutí datového tipu

Datové tipy můžete také přizpůsobit několika dalšími způsoby, jako je třeba rozbalení datového tipu ( rychlý datový tip) nebo průhlednost datového tipu. Další informace naleznete v tématu Zobrazení hodnot dat v data Tipy v editoru kódu.

Upravte kód a pokračujte v ladění (C#, VB, C++)

Ve většině jazyků podporovaných sadou Visual Studio můžete upravit kód uprostřed ladicí relace a pokračovat v ladění. Pokud chcete tuto funkci použít, klikněte na svůj kód s kurzorem, když je v ladicím programu pozastavený, upravte ho, stiskněte klávesu F5, F10 nebo F11 a pokračujte v ladění.

Upravit a pokračovat v ladění

Další informace o používání funkce a omezení funkcí najdete v tématu Upravit a pokračovat.

Úprava kódu XAML a pokračování ladění

Pokud chcete upravit kód XAML během ladicí relace, přečtěte si téma Zápis a ladění spuštěného kódu XAML pomocí Opětovné načítání za provozu XAML.

Ladění problémů, které se obtížně reprodukují

Pokud je obtížné nebo časově náročné znovu vytvořit konkrétní stav v aplikaci, zvažte, jestli vám může pomoct použití podmíněné zarážky. Podmíněné zarážky a zarážky filtru můžete použít, abyste se vyhnuli rozdělení kódu aplikace, dokud aplikace nezadá požadovaný stav (například stav, ve kterém proměnná ukládá špatná data). Podmínky můžete nastavit pomocí výrazů, filtrů, počtu přístupů atd.

Vytvoření podmíněné zarážky

  1. Klikněte pravým tlačítkem myši na ikonu zarážky (červená koule) a zvolte Podmínky.

  2. V okně Nastavení zarážky zadejte výraz.

    Podmíněná zarážka

  3. Pokud vás zajímá jiný typ podmínky, vyberte v dialogovém okně Nastavení zarážky možnost Filtr místo podmíněného výrazua pak postupujte podle tipů pro filtrování.

Konfigurace dat pro zobrazení v ladicím programu

V případě jazyka C#, Visual Basic a C++ (pouze kód C++/CLI) můžete ladicímu programu sdělit, jaké informace se mají zobrazit pomocí atributu DebuggerDisplay . U kódu jazyka C++ můžete totéž provést pomocí vizualizací Natvis.

Opakované připojení ke stejné aplikaci

Při použití funkce připojit k procesu můžete rychle znovu připojit k procesu, ke kterému jste byli dříve připojeni, zvolením možnosti Znovu>připojit ladění k procesu (Alt+P shift).+ Když zvolíte tento příkaz, ladicí program se okamžitě pokusí připojit k poslednímu procesu, ke kterému jste se připojili, tím, že se nejprve pokusí spárovat s předchozím ID procesu a pokud se to nezdaří, tak, že se shoduje s názvem předchozího procesu. Pokud nejsou nalezeny žádné shody nebo pokud má několik procesů stejný název, otevře se dialogové okno Připojit k procesu, abyste mohli vybrat správný proces.

Sledování objektu mimo rozsah (C#, Visual Basic)

Proměnné můžete snadno zobrazit pomocí oken ladicího programu, jako je okno Kukátko . Když ale proměnná v okně Kukátko přejde mimo rozsah, můžete si všimnout, že je zašedlá. V některých scénářích aplikace se hodnota proměnné může změnit i v případě, že je proměnná mimo rozsah, a můžete ji chtít pečlivě sledovat (například proměnná může získat uvolňování paměti). Proměnnou můžete sledovat vytvořením ID objektu v okně Kukátko .

Vytvoření ID objektu

  1. Nastavte zarážku u proměnné, kterou chcete sledovat.

  2. Spusťte ladicí program (F5) a zastavte se na zarážce.

  3. Najděte proměnnou v okně Locals (Ladění > místních prostředí Systému Windows>), klikněte na proměnnou pravým tlačítkem myši a vyberte Vytvořit ID objektu.

    Vytvoření ID objektu

  4. V okně Místní hodnoty byste měli vidět $ číslo plus. Tato proměnná je ID objektu.

  5. Klikněte pravým tlačítkem na proměnnou ID objektu a zvolte Přidat kukátku.

Další informace naleznete v tématu Vytvoření ID objektu.

Zobrazení návratových hodnot pro funkce

Pokud chcete zobrazit návratové hodnoty pro funkce, podívejte se na funkce, které se během procházení kódu zobrazují v okně Automatické položky . Pokud chcete zobrazit návratovou hodnotu funkce, ujistěte se, že už byla funkce, která vás zajímá, spuštěna (stiskněte klávesu F10 jednou, pokud jste aktuálně zastaveni ve volání funkce). Pokud je okno zavřené, otevřete okno Automatické automatické spouštění pomocí ladění > windows>.

Okno Automatické položky

Kromě toho můžete zadat funkce v okně Okamžité zobrazení vrácených hodnot. (Otevřete ho pomocí Ladění > Windows > Immediate.)

Příkazové podokno

Můžete také použít pseudovariables v okně Kukátko a Okamžité, například $ReturnValue.

Kontrola řetězců ve vizualizéru

Při práci s řetězci může být užitečné zobrazit celý formátovaný řetězec. Pokud chcete zobrazit prostý text, XML, HTML nebo řetězec JSON, klikněte na ikonu VizualizérIcon lupy a najeďte myší na proměnnou obsahující řetězcovou hodnotu.

Otevření vizualizéru řetězců

Vizualizér řetězců vám může pomoct zjistit, jestli je řetězec poškozený v závislosti na typu řetězce. Například prázdné pole Hodnota označuje, že řetězec není rozpoznán typem vizualizéru. Další informace naleznete v části Dialogové okno Vizualizér řetězců.

Vizualizér řetězců JSON

Pro několik dalších typů, jako jsou DataSet a DataTable objekty, které se zobrazují v oknech ladicího programu, můžete také otevřít integrovaný vizualizér.

Analýza využití paměti

Snímky haldy můžete pořídit a porovnat, optimalizovat využití paměti a najít nevracení paměti pomocí nástrojů pro využití paměti. Další informace naleznete v tématu Volba nástroje pro analýzu paměti.

Vytvoření souboru s výpisem paměti

Soubor s výpisem paměti je snímek, který ukazuje proces, který se spouštěl, a moduly načtené pro aplikaci v určitém okamžiku. Výpis paměti s informacemi haldy také obsahuje snímek paměti aplikace v tomto okamžiku. Výpisy paměti se většinou používají k ladění problémů z počítačů, ke kterým nemají vývojáři přístup.

Pokud potřebujete uložit soubor s výpisem paměti, vyberte možnost Ladit > uložit výpis paměti jako.

Pokud chcete analyzovat soubor s výpisem paměti, zvolte > Soubor otevřít v sadě Visual Studio. Pokud chcete spustit ladění pomocí souboru s výpisem paměti, vyberte Možnost Ladit pouze se spravovanými daty, Ladit pouze s nativními funkcemi, Ladit se smíšenými nebo ladit se spravovanou pamětí.

Další informace najdete v tématu Soubory výpisu paměti.

Rozdělení kódu na zpracovaných výjimkách

Ladicí program rozdělí váš kód na neošetřené výjimky. Zpracovávané výjimky (například výjimky, ke kterým dochází v try/catch bloku) ale můžou být také zdrojem chyb a můžete chtít prozkoumat, kdy k nim dojde. Ladicí program můžete nakonfigurovat tak, aby rozděloval kód pro zpracovávané výjimky, a to tak, že nakonfigurujete možnosti v dialogovém okně Výjimka Nastavení. Otevřete toto dialogové okno výběrem možnosti Ladit > výjimku systému Windows > Nastavení.

Dialogové okno Výjimka Nastavení umožňuje ladicímu programu sdělit, že má rozdělit kód na konkrétní výjimky. Na obrázku níže se ladicí program rozdělí do kódu pokaždé, když dojde k nějakému výskytu System.NullReferenceException . Další informace naleznete v tématu Správa výjimek.

Dialogové okno Nastavení výjimky

Změna toku provádění

Ladicí program je pozastavený na řádku kódu a pomocí myši uchopte žlutý šipkový ukazatel vlevo. Přesuňte žlutý šipkový ukazatel na jiný bod v cestě provádění kódu. Pak pomocí klávesy F5 nebo kroku pokračujte ve spuštění aplikace.

Přesunutí ukazatele provádění

Změnou toku provádění můžete provádět například testování různých cest spuštění kódu nebo opětovné spuštění kódu bez restartování ladicího programu. Další informace naleznete v tématu Přesunutí ukazatele provádění.

Upozorňující

U této funkce často musíte být opatrní a v popisu se zobrazí upozornění. Může se zobrazit i další upozornění. Přesunutí ukazatele nemůže vrátit aplikaci do dřívějšího stavu aplikace.

Ladění zablokování a podmínek časování

Pokud potřebujete ladit druhy problémů, které jsou společné pro vícevláknové aplikace, často pomáhá při ladění zobrazit umístění vláken. Můžete to provést snadno pomocí tlačítka Zobrazit vlákna ve zdroji .

Zobrazení vláken ve zdrojovém kódu:

  1. Při ladění klikněte na tlačítko Zobrazit vlákna ve zdrojiZobrazit vlákna ve zdroji na panelu nástrojů Ladění.

  2. Podívejte se na hřbet na levé straně okna. Na tomto řádku uvidíte ikonu Značka vlákna značky vlákna, která se podobá dvěma vláknům tkaniny. Značka vlákna označuje, že vlákno je v tomto umístění zastaveno.

    Všimněte si, že značka vlákna může být částečně skryta zarážkou.

  3. Najeďte myší na značku vlákna. Zobrazí se popis dat. Popis dat vám řekne název a číslo ID vlákna pro každé zastavené vlákno.

    Umístění vláken můžete zobrazit také v okně Paralelní zásobníky.

Seznamte se s tím, jak se ladicí program připojuje k aplikaci (C#, C++, Visual Basic, F#).

Pokud se chcete připojit ke spuštěné aplikaci, načte ladicí program soubory symbolu (PDB) generované pro úplně stejné sestavení aplikace, kterou se pokoušíte ladit. V některých scénářích může být užitečné trochu znalostí souborů symbolů. Pomocí okna Moduly můžete prozkoumat, jak Visual Studio načte soubory symbolů .

Výběrem možnosti Ladit >> moduly otevřete okno Moduly při ladění. V okně Moduly se dozvíte, které moduly ladicí program považuje za uživatelský kód nebo Můj kód, a stav načítání symbolů pro modul. Ve většině scénářů ladicí program automaticky najde soubory symbolů pro uživatelský kód, ale pokud chcete provést krokování s kódem .NET, systémovým kódem nebo kódem knihovny třetích stran, jsou k získání správných souborů symbolů potřeba další kroky.

Zobrazení informací o symbolech v okně Moduly

Informace o symbolech můžete načíst přímo z okna Moduly tak, že kliknete pravým tlačítkem a zvolíte Načíst symboly.

Vývojáři aplikací někdy dodávají aplikace bez odpovídajících souborů symbolů (aby snížili nároky), ale zachovali kopii odpovídajících souborů symbolů pro sestavení, aby mohli později ladit vydanou verzi.

Informace o tom, jak ladicí program klasifikuje kód jako uživatelský kód, najdete v tématu Jen můj kód. Další informace o souborech symbolů najdete v tématu Určení symbolu (.pdb) a zdrojových souborů v ladicím programu sady Visual Studio.

Další informace

Další tipy a triky a podrobnější informace najdete v těchto blogových příspěvcích:

Klávesové zkratky