Sdílet prostřednictvím


Ladění jednoho nebo více procesů v sadě Visual Studio

Zde uvádíme postup při spuštění procesů ladění, přepínání mezi procesy, přerušení a pokračování v provádění akce, procházení zdroje, zastavení ladění a ukončení nebo odpojení od procesů.

Obsah

Konfigurace chování spuštění více procesů

Najít zdrojové soubory a soubory symbolů (PDB)

Spuštění více procesů v řešení VS, připojit k procesu, automaticky spustit proces v ladicím programu

Přepnout procesy, ukončit provádění a pokračovat v něm, procházet zdroj

Zastavit ladění, ukončit nebo odpojit od procesů

Konfigurace chování spuštění více procesů

Ve výchozím nastavení při více spuštěných procesů v ladicím programu ovlivňují příkazy „break“, „step“ a „stop“ ladění většinou všechny procesy.Například pokud je jeden proces pozastaven na zarážce, spuštění všech procesů je také pozastaveno.Toto výchozí chování můžete změnit a získat tak větší kontrolu nad cíli prováděcích příkazů.

  1. V nabídce Ladění zvolte možnost Možnosti a nastavení.

  2. Na stránce Ladění, Obecné, zrušte zaškrtnutí políčka Přerušit všechny procesy, když se jeden přeruší.

Zpět na začátekObsah

Najít zdrojové soubory a soubory symbolů (PDB)

Aby mohl procházet zdrojový kód procesu, potřebuje ladicí program přístup ke zdrojovým souborů a souborů symbolů procesu.Viz téma Zadání symbolu (.pdb) a zdrojových souborů v ladicím programu sady Visual Studio.

Pokud nelze získat přístup k souborům pro proces, můžete k procházení použít okno Zpětný překlad.Viz téma Postupy: Použití okna zpětného překladu.

Zpět na začátekObsah

Spustit více procesů v řešení VS, připojit k procesu, automaticky spustit proces v ladicím programu

  • Spuštění ladění více procesů v řešení aplikace Visual Studio • Změnit projekt při spuštění • Spustit určitý projekt v řešení • Spustit více projektů v řešení • Připojit k procesu • Automaticky spustit z procesu v ladicím programu.

[!POZNÁMKA]

Ladicí program se nepřipojí automaticky k podřízenému procesu, který je spuštěn procesem ladění i pokud je podřízený projekt ve stejném řešení.Ladění podřízeného procesu:

  • Připojte se k podřízenému procesu po jeho spuštění.

    -nebo-

  • Nakonfigurujte systém Windows, aby automaticky spustil podřízený proces v nové instanci ladicího programu.

Spustit ladění více procesů v řešení aplikace Visual Studio

Když máte v řešení aplikace Visual Studio více projektů, které lze spustit samostatně (projekty, které běží v samostatných procesech), můžete vybrat projekty, které spustí ladicí program.

Změna typ spuštění projektu

Změna projektu po spuštění

Chcete-li změnit projekt při spuštění pro řešení, vyberte projekt v Průzkumníku řešení a pak zvolte možnost Nastavit jako projekt při spuštění z kontextové nabídky.

Spuštění určitého projektu v řešení

Chcete-li zahájit projekt pro řešení bez změny výchozího projektu po spuštění, vyberte projekt v Průzkumníku řešení a pak zvolte možnost Ladění z kontextové nabídky.Pak můžete spustit novou instanci nebo Krok do nové instance.

Zpět na začátekSpustit více procesů v řešení VS, připojit k procesu, automaticky spustit proces v ladicím programu

Zpět na začátekObsah

Spustit více projektů v řešení

  1. Vyberte řešení v nástroji Průzkumník řešení a pak zvolte možnost Vlastnosti v místní nabídce.

  2. Vyberte Společné vlastnosti, Spusťte projekt v dialogovém okně Vlastnosti.

  3. Pro každý projekt, který chcete změnit, zvolte buď Start, Spustit bez ladění, nebo Žádný.

Zpět na začátekSpustit více procesů v řešení VS, připojit k procesu, automaticky spustit proces v ladicím programu

Zpět na začátekObsah

Připojit k procesu

Ladicí program se můžete také připojit k programům, které mají spuštěné procesy mimo sadu Visual Studio, včetně programů, které běží na vzdáleném zařízení.Po připojení k programu můžete použít příkazy spuštění ladicího programu, kontrolovat stav programu a podobně.Vaše schopnost kontrolovat, zda byl program sestaven s ladicími informacemi, zda ladicí program má přístup ke zdrojovému kódu programu a zda kompilátor JIT společného běhového modulu jazyka sleduje informace o ladění.

Další informace naleznete v tématu Připojení ke spuštěným procesům pomocí ladicího programu sady Visual Studio.

Připojit k procesu, který je spuštěn v místním počítači

Zvolte možnost Ladění > Připojit k procesu.V dialogovém okně Připojit k procesu vyberte proces v seznamu Procesy k dispozici a poté zvolte možnost Připojit.

Připojit k procesu – dialogové okno

Zpět na začátekObsah

Automaticky spustit proces v ladicím programu

V některých případech je třeba ladit spouštěcí kód programu, který je spouštěn jiným procesem.Příklady zahrnují služby a akce pro vlastní nastavení.V těchto případech může být ladicí program spuštěn a automaticky připojen při spuštění aplikace.

  1. Spusťte Editor registru (regedit.exe).

  2. Přejděte do složky HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Image File Execution Options.

  3. Vyberte složku aplikace, kterou chcete spustit v ladicím programu.

    Pokud název aplikace není uveden jako podřízená složka, vyberte položku Možnosti spuštění souboru bitové kopie a pak zvolte možnosti Nový, Klíč v kontextové nabídce.Vyberte nový klíč, zvolte Přejmenovat v místní nabídce a poté zadejte název aplikace.

  4. V kontextové nabídce složky aplikace, zvolte možnost Nové, Hodnota řetězce.

  5. Změňte název nové hodnoty z New Value na ladicí program.

  6. V kontextové nabídce položky ladicího programu vyberte možnost Změnit.

  7. V dialogovém okně Upravit řetězec zadejte vsjitdebugger.exe do pole Data hodnoty.

    Řetězec dialogové okno Upravit

Ladicí program automatické spuštění položka v regedit.exe

Zpět na začátekObsah

Přepnout procesy, ukončit provádění a pokračovat v něm, procházet zdroj

  • Přepnutí mezi procesy • Zrušit, krokovat a pokračovat v příkazech

Přepne mezi procesy

Můžete se připojit k více procesům při ladění, ale pouze jeden proces je v daném okamžiku aktivní v ladicím programu.Lze nastavit aktivní nebo aktuální proces na panelu nástrojů Ladění nebo v okně Procesy.Chcete-li přepnout mezi procesy, oba procesy musí být v režimu pozastavení.

Nastavení aktuálního procesu

  • Na panelu nástrojů Umístění ladění zvolením možnosti Proces zobrazte seznam Proces.Vyberte proces, který chcete nastavit jako aktuální proces.

    Přepínání mezi procesy

    Pokud panel nástrojů Umístění ladění není zobrazen, vyberte položky Nástroje, Přizpůsobit.Na kartě Panely nástrojů vyberte Umístění ladění.

  • Otevřete okno Procesy (zkratka Ctrl+Alt+Z), vyhledejte proces, který chcete nastavit jako aktuální proces a poklepejte na něj.

    Procesy – okno

    Aktuální proces je označen žlutou šipkou.

Přepnutí do projektu umožňuje aktuální proces pro účely ladění.Jakékoli okno ladicího programu, které prohlédnete, zobrazí stav pro aktuální proces a všechny příkazy krokování ovlivní pouze aktuální proces.

Zpět na začátekPřepnout procesy, ukončit provádění a pokračovat v něm, procházet zdroj

Zpět na začátekObsah

Příkazy „break“, „step“ a „continue“

[!POZNÁMKA]

Ve výchozím nastavení mají příkazy ladicího programu „break“, „continue“ a „step“ vliv na všechny procesy, které jsou právě laděny.Chcete-li toto chování změnit, viz Konfigurace chování provádění více procesů

Příkaz

Přerušit všechny procesy při přerušení jednoho procesu

Zkontrolováno (výchozí)

Přerušit všechny procesy při přerušení jednoho procesu

Zrušeno

Nabídka Ladění:

  • Zrušit všechny

Budou přerušeny všechny procesy.

Budou přerušeny všechny procesy.

Nabídka Ladění:

  • Continue

Obnoví se všechny procesy.

Všechny pozastavené procesy budou pokračovat.

Nabídka Ladění:

  • Krok do

  • Krok přes

  • Krok ven

Všechny procesy jsou spuštěny během kroků aktuálního procesu.

Pak budou přerušeny všechny procesy.

Aktuální kroky procesu.

Pokračování pozastavených procesů.

Spuštěné procesy pokračují.

Nabídka Ladění:

  • Krok do aktuálního procesu

  • Krok přes aktuální proces

  • Krok z aktuálního procesu

Není k dispozici

Aktuální kroky procesu.

Jiné procesy udržují svůj stávající stav (pozastaveno nebo spuštěno).

Okno zdroje

  • Zarážka

Budou přerušeny všechny procesy.

Přerušují se pouze procesy zdroje okna.

Kontextová nabídka okna zdroje:

  • Spustit na kurzor

Okno zdroje musí být v aktuálním procesu.

Všechny procesy jsou spuštěny během spuštění procesu zdrojového okna ke kurzoru a poté se přeruší.

Pak budou přerušeny všechny ostatní procesy.

Proces zdrojového okna je spuštěn na kurzoru.

Jiné procesy udržují svůj stávající stav (pozastaveno nebo spuštěno).

Kontextová nabídka okna Procesy:

  • Přerušit proces

Není k dispozici

Vybraný proces bude ukončen.

Jiné procesy udržují svůj stávající stav (pozastaveno nebo spuštěno).

Kontextová nabídka okna Procesy:

  • Pokračovat v procesu

Není k dispozici

Vybraný proces bude pokračovat.

Jiné procesy udržují svůj stávající stav (pozastaveno nebo spuštěno).

Zpět na začátekPřepnout procesy, ukončit provádění a pokračovat v něm, procházet zdroj

Zpět na začátekObsah

Zastavit ladění, ukončit nebo odpojit od procesů

  • Zastavit, ukončit a odebrat příkazy

Pokud ve výchozím nastavení zvolíte možnost Ladění, Ukončit ladění a v ladicím programu je otevřeno více procesů, ladicí program v závislosti na tom, jak byl proces v ladícím programu zahájen, se ukončí nebo odpojí od všech procesů:

  • Pokud byl aktuální proces spuštěn v ladicím programu, tento proces bude ukončen.

  • Pokud jste ladicí program připojili k aktuálnímu procesu, ladicí program se odpojí z procesu a ponechá proces spuštěný.

Například pokud spustíte ladění procesu v rámci řešení Visual Studio, připojíte je k jinému procesu, který je již spuštěn a kliknete na tlačítko Zastavit ladění, relace ladění skončí, proces spuštěný v aplikaci Visual Studio se ukončí a proces, který jste připojili, zůstane spuštěn.Následující postupy můžete použít k řízení způsobu, jakým zastavujete ladění.

[!POZNÁMKA]

Možnost Přerušit všechny procesy, když se jeden přeruší nemá vliv na zastavení ladění nebo ukončení a odpojení od procesů.

Změna toho, jaký má funkce Zastavit ladění vliv na jednotlivé procesy

  • Otevřete okno Procesy (zkratka Ctrl+Alt+Z).Vyberte proces a pak zaškrtněte nebo zrušte zaškrtnutí políčka Odpojit při zastavení ladění.

Zastavit, ukončit a odebrat příkazy

Příkaz

Description

Nabídka Ladění:

  • Zastavit ladění

Pokud není toto chování změněno v okně Procesy možností Odpojit při konci ladění:

  1. Procesy spuštěné ladicím programem jsou ukončeny.

  2. Připojené procesy jsou odpojeny od ladicího programu.

Nabídka Ladění:

  • Ukončit vše

Všechny procesy budou ukončeny.

Nabídka Ladění:

  • Odpojit vše

Ladicí program se odpojí ze všech procesů.

Kontextová nabídka okna Procesy:

  • Odpojit proces

Ladicí program se odpojí z vybraných procesů.

Jiné procesy udržují svůj stávající stav (pozastaveno nebo spuštěno).

Kontextová nabídka okna Procesy:

  • Ukončit proces

Vybraný proces je ukončen.

Jiné procesy udržují svůj stávající stav (pozastaveno nebo spuštěno).

Kontextová nabídka okna Procesy:

  • Odpojit při zastavení ladění

Přepíná chování možnosti Ladění, Zastavit ladění u vybraného procesu:

  • Zkontrolováno: Ladicí program se odpojil z procesu.

  • Zrušeno: Proces je ukončen.

Zpět na začátekZastavit ladění, ukončit nebo odpojit od procesů

Zpět na začátekObsah

Viz také

Koncepty

Zastavení, pozastavení, krok, spuštění prostřednictvím kódu a ukončení ladění v sadě Visual Studio

Ladění za běhu v sadě Visual Studio

Další zdroje

Zadání symbolu (.pdb) a zdrojových souborů v ladicím programu sady Visual Studio

Připojení ke spuštěným procesům pomocí ladicího programu sady Visual Studio

Ladění vícevláknových aplikací v sadě Visual Studio