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.
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.
Datové tipy můžete také přizpůsobit několika dalšími způsoby, například tak, aby byl datový tip rozbalený (lepkavý datový tip), nebo aby byl datový tip průhledný. Další informace najdete v tématu Zobrazení hodnot dat v Datových tipech 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 během ladicí relace a pokračovat v ladění. Pokud chcete tuto funkci použít, klikněte do kódu s kurzorem, když máte ladicí program pozastavený, proveďte úpravy a stiskněte F5, F10nebo F11, abyste pokračovali 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ého načítání XAML.
Odstraňování problémů, které se obtížně opakují
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. Příkaz podmíněného přerušení a příkaz filtru můžete použít, abyste se vyhnuli přerušení vstupu do kódu aplikace, dokud aplikace nevstoupí do požadovaného stavu (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řit podmíněnou zarážku
Klikněte pravým tlačítkem myši na ikonu zarážky (červená koule) a zvolte Podmínky.
V okně Nastavení přerušení zadejte výraz.
Pokud vás zajímá jiný typ podmínky, vyberte v dialogovém okně Nastavení zarážkyFiltr místo Podmíněného výrazu a postupujte podle tipů pro filtrování.
Nakonfigurujte data 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, výběrem možnosti Ladění>Znovu připojit k procesu (Shift+Alt+P). 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, nejprve se pokusí spárovat s předchozím ID procesu a pokud se to nezdaří, pokusí se spárovat 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 Watch. Když ale proměnná v okně sleduj přejde mimo rozsah, můžete si všimnout, že je zašedlá. V některých scénářích aplikací se hodnota proměnné může změnit, i když je proměnná mimo rozsah, a možná ji budete chtít pozorně sledovat (například proměnná může být podrobena procesu uvolňování paměti). Proměnnou můžete sledovat vytvořením ID objektu v okně Kukátko .
Vytvoření ID objektu
Nastavte zarážku u proměnné, kterou chcete sledovat.
Spusťte ladicí program (F5) a zastavte se na bodu přerušení.
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.
V okně $ byste měli vidět znaménko plus a číslo. Tato proměnná je ID objektu.
Klikněte pravým tlačítkem na proměnnou ID objektu a zvolte Přidat Sledovat.
Další informace naleznete v tématu Vytvoření ID objektu.
Zobrazení návratových hodnot pro funkce
Od verze 17.12 sady Visual Studio 2022 můžete návratové hodnoty funkcí zobrazit přímo v kódu. Další informace naleznete v tématu Zobrazit vložené návratové hodnoty volání metody v editoru kódu.
Návratové hodnoty můžete zobrazit také v okně Automatické hodnoty. Další informace naleznete v tématu Zobrazení vrácených hodnot v okně Automatické hodnoty.
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é, použijte ladění > Windows > Autos k otevření okna Autos.
Můžete také použít pseudovariables v okně Kukátko a Okamžité , například $ReturnValue.
Kromě toho můžete zadat funkce v okně Okamžité zobrazení vrácených hodnot. (Otevřete ho pomocí ladění > Windows > Immediate.)
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, najeďte myší na proměnnou obsahující řetězcovou hodnotu a klikněte na ikonu lupy
.
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ů.
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
S pomocí nástrojů pro využití paměti můžete pořídit a porovnat snímky haldy, optimalizovat využití paměti a najít únik 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 o haldě také obsahuje jeden 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čů, k nimž nemají vývojáři přístup.
Pokud potřebujete uložit soubor s výpisem, vyberte Debug > Uložit výpis 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 Ladit pouze se spravovanými kódy, Ladit pouze s nativními, Ladit se smíšenými nebo Ladit se spravovanou pamětí.
Další informace najdete v tématu Výpisové soubory.
Vstoupit do kódu při 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ě Nastavení výjimek . Otevřete toto dialogové okno výběrem možnosti Ladit > nastavení výjimek systému Windows>.
Dialogové okno Nastavení výjimek umožňuje ladicímu programu sdělit, že má rozdělit kód na konkrétní výjimky. Na obrázku níže ladicí program přeruší běh kódu pokaždé, když dojde k výskytu System.NullReferenceException. Další informace naleznete v tématu Správa výjimek.
Změna toku provádění
Když je ladicí program pozastaven na řádku kódu, uchopte myší žlutou šipku 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.
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í.
Výstraha
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:
Při ladění klikněte na tlačítko Zobrazit vlákna ve zdroji na panelu nástrojů
Ladění.Podívejte se na žlab na levé straně okna. Na tomto řádku uvidíte ikonu 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ě zakrytá bodem přerušení.
Najeďte myší na značku vlákna. Zobrazí se datový tip. Datový tip vám sdělí název a identifikační číslo 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 se symboly (.pdb) generované pro totožné 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ů .
Otevřete okno Moduly při ladění výběrem možnosti Ladit > Windows > Moduly. 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 krokovat nebo ladit kód .NET, systémový kód nebo kód knihovny třetích stran, je nutné podniknout další kroky k získání správných souborů symbolů.
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 části Určení symbolů (.pdb) a zdrojových souborů v ladicím nástroji sady Visual Studio.
Další informace
Další tipy a triky a podrobnější informace najdete v těchto blogových příspěvcích: