Spuštění, pozastavení a ukončení ladicího programu sady Visual Studio a jeho ovládání
V tomto tématu
V tomto tématu
Spuštění ladění
Připojit k procesu
Automaticky spustit aplikaci v ladicím programu
Navigace v relaci ladění kódu
Rozdělit na kód pomocí zarážky nebo zrušit vše
Krok do, nad nebo z kódu
Spustit v zadaném umístění nebo funkci
Nastavit další příkaz ke spuštění
Omezit krokování pouze můj kód
Krokovat s vnořením volání systému
Krokovat s vnořením vlastností a operátorů ve spravovaném kódu
Zastavení ladění
Spuštění ladění
Je-li otevřeno řešení sady Visual Studio, je k dispozici tři možnosti pro spuštění ladění:
Zvolte ladění, Spuštění ladění (klávesnice: F5). |
Vaše aplikace spustí a až se spustí:
|
Zvolte ladění, Step Into (klávesnice: F11) nebo ladění, Krok přes (klávesnice: F10). |
Vaše aplikace spustí a pak rozdělí na prvním řádku. |
V okně zdroj, vyberte řádek spustitelný kód a zvolte Run to Cursor v místní nabídce. |
Spuštění aplikace a spuštěn, dokud nebude dosaženo zarážky nebo umístění kurzoru, nastane dříve. |
Připojit k procesu
Ladicí program můžete také připojit k programu, která je spuštěna v procesu mimo sadu Visual Studio.Po připojení k programu pomocí příkazů pro spuštění ladicího programu, kontrolovat stav programu a tak dále.Možnost kontrolovat program může být omezen, v závislosti na tom, zda program byl vytvořen s ladicími informacemi a zda máte přístup ke zdrojovému kódu programu a zda je společný jazyk runtime JIT kompilátor sledování informací o ladění.
Chcete-li se připojit k procesu, který je spuštěn v místním počítači
Zvolte ladění, připojit k procesu.Na připojit k procesu dialogové okno Vyberte proces z Procesy k dispozici seznam a pak zvolte Attach.
Další informace naleznete v tématu Připojování k spuštěných procesů.
Automaticky spustit aplikaci v ladicím programu
V některých případech budete muset debug spouštěcí kód aplikace, který je spuštěn jiný proces.Příkladem služeb a vlastní nastavení akcí.V těchto scénářích může být spuštění ladicího programu a automaticky připojit při spuštění aplikace.
Spusťte Editor registru (regedit.exe).
Přejděte Možnosti spuštění souboru NT\CurrentVersion\Image HKEY_LOCAL_MACHINE\Software\Microsoft\Windows složky.
Vyberte složku aplikace, který chcete spustit v ladicím programu.
Pokud název aplikace není uvedena jako podřízené složky, vyberte Možnosti spuštění souboru bitové kopie a pak zvolte Nový, klíče v místní nabídce.Vyberte nový klíč, zvolte Přejmenovat v místní nabídce a potom zadejte název aplikace.
V místní nabídce na složku aplikace, zvolte Nový, Hodnotu řetězce.
Změňte název nové hodnoty z New Value na ladicí program.
V místní nabídce položky debugger, zvolte změnit.
V dialogovém okně Upravit řetězec zadejte vsjitdebugger.exe v Údaj pole.
V tomto tématu
Navigace v relaci ladění kódu
Rozdělit na kód pomocí zarážky nebo zrušit vše
Při ladění aplikace s ladicí program sady Visual Studio, aplikace je spuštění (spouštění) nebo je v režimu pozastavení.
Ladicí program rozdělí spuštění bude aplikace při spuštění dosáhne zarážky, nebo když dojde k výjimce.Také můžete přerušit provádění kdykoli ručně.
Zarážka je signál, který dává pokyn ladicímu programu dočasně pozastavit provádění vaši aplikace v určitém místě.Při spouštění je pozastaveno na zarážce, se říká programu v režimu pozastavení.Přejít do režimu přerušení zastavení nebo ukončení provádění programu; spuštění lze kdykoli obnovit.
Většina funkcí ladicího programu, jako je například zobrazení hodnot proměnných v okně místních položek nebo vyhodnocování výrazů v okně kukátka jsou k dispozici pouze v režimu pozastavení.Zůstanou všechny prvky vaší aplikace (funkce, proměnné a objekty zůstanou v paměti, například), ale jejich pohyby a činnosti jsou pozastaveny.Během režimu pozastavení můžete zkoumat pozice na prvky a státy porušení či štěnic.Můžete také provést úpravy aplikace v režimu break
Můžete nakonfigurovat zarážky k pozastavení provádění založené na určité podmínky.Viz téma Pomocí zarážek a Tracepoints.Tato část popisuje dva základní způsoby, jak proniknout do kódu.
Nastavit zarážky v kódu
Pro nastavení jednoduché zarážky v kódu, otevřete zdrojový soubor v editoru Visual Studio.Nastavte kurzor na řádek kódu, který chcete rozdělit na a pak zvolte zarážky, Vložit zarážku v kontextové nabídce (klávesnice: F9.Ladicí program přeruší provádění vpravo před provedením řádku.
Body přerušení v aplikaci Visual Studio poskytuje bohatou sadu další funkce, jako je například podmíněné zarážky a tracepoints.Viz téma Pomocí zarážek a Tracepoints.
Ručně rozdělit na kód
Chcete-li rozdělit na další řádky kódu ve vykonávajícím app, zvolte ladění, Konec všech (klávesnice: Ctrl+Alt+Break).
Jestliže ladíte s povolenou možností pouze můj kód v projektu je rozdělit na další řádek kódu.Viz téma Restrict stepping to Just My Code.
Jestliže ladíte více programů, bod přerušení nebo zrušit všechny příkaz ovlivní všechny programy, které se právě ladí ve výchozím nastavení.Viz Change the break behavior of multiple processes v tomto tématu.
Pokud můžete přerušit při provádění kódu bez odpovídajícího zdroje nebo symbol (.pdf) soubory), ladicí program se zobrazí Zdroje nejsou nalezeny soubory nebo Symboly nebyl nalezen stránky, které vám pomohou najít příslušné soubory.Viz téma Vyhledání souborů se symboly (PDB), zdrojových a binárních souborů.
Pokud nelze získat přístup k podpůrným souborům, můžete stále ladit pokynů okno zpětný překlad sestavení.
Krok do, nad nebo z kódu
Jedním z nejběžnější postupy ladění je krokování.Krokování se provádí vždy jeden řádek kódu.Když jste zastaveno spouštění, jako je spuštění ladicího programu k zarážku, můžete použít tři ladění příkazy nabídky ke krokování kódu:
Příkaz nabídky |
Klávesové zkratky |
Description |
---|---|---|
Krokovat s vnořením |
F11 |
Pokud řádek obsahuje volání funkce Step Into provede pouze samotné volání a poté zastaví na prvním řádku kódu uvnitř funkce.V opačném případě se Step Into spustí další dotaz. |
Krok přes |
F10 |
Pokud řádek obsahuje volání funkce Krok přes volaná funkce spustí a zastaví na prvním řádku kódu uvnitř volání funkce.V opačném případě se Step Into spustí další dotaz. |
Krok |
Shift+F11 |
Krok ven pokračuje v provádění kódu dokud vrátí, pak konce vratky bodě volání funkce. |
Vnořená funkce volání Step Into kroky do nejvíce hluboko vnořené funkce.Použijete-li Step Into na volání, například Func1(Func2()), ladicí program vstoupí do funkce Func2.
Ladicí program skutečně projde příkazy kódu, spíše než fyzické řádky.Například if klauzuli lze zapsat na jednom řádku:
int x = 42; string s = "Not answered"; if( int x == 42) s = "Answered!";
Dim x As Integet = 42 Dim s As String = "Not answered" If x = 42 Then s = "Answered!"
V případě, že jste se přesunuli do tohoto řádku, ladicí program zpracuje podmínky jako jeden krok a následky, které jsou jiné (v tomto příkladu je podmínka PRAVDA).
Spustit v zadaném umístění nebo funkci
Někdy budete chtít spustit na určité místo v kódu a potom zastavení provádění.Máte-li zarážku na umístění, kam chcete zrušit, zvolte ladění, Spuštění ladění Pokud jste práci nezahájili ladění, nebo, nebo ladění, pokračovat.(V obou případech F5 je klávesová zkratka).Ladicí program zastaví na další zarážku v provádění kódu.Zvolte ladění, pokračovat až k zarážce chcete.Viz Set breakpoints in the code v tomto tématu.
Můžete také spustit do umístění kurzoru v editoru kódu nebo spustit určené funkce.
Spustit až do místa kurzoru
Chcete-li spustit až do místa kurzoru, umístěte kurzor na linku spustitelného kódu v okně zdroj.V okně editor kontextové nabídky zvolte Run to Cursor.
Spustit funkci v zásobníku volání
V Zásobník volání okno, vyberte funkci a zvolte Run to Cursor z kontextové nabídky.
Spustit funkci určený názvem
Ladicí program ke spuštění aplikace, dokud nedosáhne určenou funkci, můžete příkaz.Můžete zadat název funkce nebo je možné ze zásobníku volání.
Chcete-li zadat název funkce, zvolte ladění, Nová zarážka, ukončit u funkce, zadejte název funkce a další identifikační údaje.
Je-li funkce je přetížena, nebo je v oboru názvů více, můžete použít funkce, které chcete Zvolit zarážky dialogové okno.
Nastavit další příkaz ke spuštění
Po zrušení do ladicího programu, můžete přesunout bod spuštění chcete-li nastavit další příkaz kód, který bude proveden.Žlutá šipka na okraji zdroj nebo okno zpětný překlad označuje umístění další příkaz ke spuštění.Přesunutím této šipky můžete přeskočit přes část kódu nebo návrat zpět do řádku dříve spuštěn.To můžete použít v situacích, jako je například vynechání části kódu, který obsahuje známé chyby.
Chcete-li nastavit další příkaz ke spuštění, použijte jeden z těchto postupů:
V okně zdroj přetáhněte žluté šipky na místo, kam chcete nastavit dalšího příkazu ve stejném zdrojovém souboru
V okně zdroj, nastavte kurzor na řádek, který chcete spustit další a zvolte Další příkaz Set v místní nabídce.
V okně rozebrání nastavte kurzor na sestavení instrukce, kterou chcete spustit další a zvolte Další příkaz Set v místní nabídce.
Upozornění |
---|
Nastavení další příkaz způsobí, že čítače programu přejít přímo do nového umístění.Opatrně pomocí následujícího příkazu:
|
[!POZNÁMKA]
Ve spravovaném kódu nelze přesunout další prohlášení za následujících podmínek:
Další je v jiné metody než aktuální příkaz.
Ladění byla spuštěna pomocí Just-In-Time ladění.
Probíhá atribut callstack unwind.
Byla vyvolána výjimka System.StackOverflowException nebo System.Threading.ThreadAbortException.
Dalším příkazu nelze nastavit, pokud je spuštěna aplikace.Chcete-li nastavit další příkaz, ladicí program musí být v režimu pozastavení.
Omezit krokování pouze můj kód
V některých případech při ladění, můžete chtít zobrazit pouze kód jste napsal a ignorování jiného kódu, jako je například systémové volání.To lze provést pomocí pouze můj kód ladění.Pouze můj kód skryje bez uživatelského kódu tak, aby v ladicím programu systému windows nezobrazí.Pokud jste se přesunuli, ladicí program projde všechny bez uživatelského kódu, ale nezastaví se v něm.
Chcete-li povolit nebo zakázat pouze můj kód ladění, zvolte ladění, možností a nastavení.Na ladění, Obecné stránky, zaškrtnutí nebo zrušení zaškrtnutí Povolit pouze můj kód.
Uživatelský kód odlišit od jiných uživatelského kódu, pouze můj kód vypadá na soubory symbolů (PDB) a program optimalizace.
Ve standardní ladicí sestavení je optimalizace vypnuta a symboly ladění jsou vytvářeny pro všechny moduly.Při spuštění ladicího sestavení těchto modulů jsou považovány za uživatelský kód.Ale funkce knihovny, která je optimalizována a nemá symboly ladění není považován za uživatelský kód.Pouze můj kód zabraňuje spuštění ze zastavení se na zarážkách v kódu knihovny není obvykle vás zajímají ladění kódu.V okně zarážky tyto zarážky zobrazí s ikonou zakázáno zarážky.
Chcete-li zobrazit všechny kódu a zastavit na všechny zarážky, můžete vypnout ladění pouze můj kód pomocí Možnosti dialogové okno.
Tři atributy také ovlivnit, co ladicí program považuje tento kód: DebuggerNonUserCodeAttribute říká ladění kódu je použit k není můj kód.DebuggerHiddenAttributeSkryje kód z ladicího programu, i v případě, že pouze můj kód je vypnuto.DebuggerStepThroughAttributedává pokyn ladicímu programu krokovat kód, který je použit, spíše než krok do kódu.
Pokud je povoleno pouze můj kód, můžete použít Zrušit všechny na ladění nabídky a zastavit provádění v místě v případě, že není žádný můj kód k zobrazení.Pokud k tomu dojde, zobrazí se žádný kód.Navíc pokud se rozhodnete Krok příkaz, jej můžete přejít na další řádek můj kód.
Konec programové příkazy, jako je například Visual Basic Stop příkazy, jsou zpracovány jinak.Ladicí program se vždy dělí na tyto příkazy i v případě, že je povolena pouze můj kód.V takovém případě bez uživatelského kódu je zobrazen místo skryté, ale krokování stále můžete přejít z jiných uživatelský kód na další řádek můj kód.
[!POZNÁMKA]
Pouze můj kód není podporována pro projekty zařízení.
Krokovat s vnořením volání systému
Pokud jste načetli symboly ladění kódu systému a pouze můj kód není povoleno, můžete se stejně jako jiné volání do systémové volání kroku.
Chcete-li zjistit, jak zakázat pouze můj kód, vizRestrict stepping to Just My Code
Přístup k souborům Microsoft symbol, viz Pomocí systému Windows a dalších symbolů Microsoft v Vyhledání souborů se symboly (PDB), zdrojových a binárních souborů téma.
Chcete-li načíst symboly pro určité součásti systému, při ladění:
Otevřete okno moduly (klávesnice: Ctrl+Alt+U).
Vyberte modul, který chcete načíst symboly pro.
Můžete zjistit, které moduly mají symboly, které jsou načteny pohledem Symbol stav sloupce.
Zvolte Zatížení symboly v místní nabídce.
Krokovat s vnořením vlastností a operátorů ve spravovaném kódu
Ladicí program vstoupí prostřednictvím vlastností a operátorů ve spravovaném kódu ve výchozím nastavení.Ve většině případů to poskytuje lepší ladění.Chcete-li povolit krokování vlastnosti nebo operátory, zvolte ladění, možností a nastavení.Na ladění, Obecné stránky, zrušte Krok přes vlastností a operátorů (pouze pro správce) políčko
V tomto tématu
Zastavení ladění
Zastavení ladění znamená ukončení relace ladění.Zastavení znamená ukončení procesu jsou ladění a ukončení relace ladění.Nelze zaměňovat s nejnovější spuštění, které dočasně zastaví provádění procesu, který ladíte, ale ponechá aktivní relace ladění.Odpojení od procesu ladění procesu se zastaví, ale ponechá ji systémem.
Zastavení ladění ze sady Visual Studio
Zvolte ladění, zastavení ladění.
Zastavit ladění ukončí proces probíhá ladění, je-li program byl spuštěn ze sady Visual Studio.Pokud jste připojili k procesu namísto spuštění z aplikace Visual Studio, pokračuje v procesu spuštění.
Zastavení ladění a restartování
Zvolte ladění, restartování aktuální relaci ladění zastavení a restartování při spuštění projektu v debuggeru.
Ukončete aplikace, který je právě laděn.
Při ukončení aplikace, která je právě laděna ladění automaticky zastaví.