Debug-Process
Ladí a odstraňuje chyby u jednoho nebo více procesů spuštěných na místním počítači.
Syntaxe
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Cmdlet Debug-Process
připojí ladicí program k jednomu nebo více spuštěným procesům na místním počítači.
Procesy můžete zadat podle názvu procesu nebo ID procesu (PID) nebo můžete řadit objekty procesu do této rutiny.
Tato cmdlet připojí ladicí program, který je zaregistrovaný pro tento proces. Před použitím tohoto cmdletu ověřte, že je nainstalovaný a nakonfigurovaný ladicí program.
Příklady
Příklad 1: Připojte ladicí program k procesu v počítači
Debug-Process -Name Powershell
Tento příkaz připojí ladicí program k procesu PowerShellu v počítači.
Příklad 2: Připojení ladicího programu ke všem procesům, které začínají zadaným řetězcem
Debug-Process -Name note*
Tento příkaz připojí ladicí program ke všem procesům, které mají názvy začínající note
.
Příklad 3: Připojení ladicího programu k více procesům
Debug-Process "Winlogon", "Explorer", "Outlook"
Tento příkaz se pokusí připojit ladicí program k procesům Winlogon, Exploreru a Outlooku. Winlogon je chráněný proces. Pokud chcete ladit Winlogon, musíte příkaz spustit jako správce.
Příklad 4: Připojení ladicího programu k více ID procesů
Debug-Process -Id 1132, 2028
Tento příkaz připojí ladicí program k procesům, které mají ID procesů 1132 a 2028.
Příklad 5: Použití Get-Process k získání procesu a připojení ladicího programu k němu
Get-Process PowerShell | Debug-Process
Tento příkaz připojí ladicí program k procesům PowerShellu v počítači. Pomocí rutiny Get-Process
získá procesy PowerShellu v počítači a pomocí operátoru kanálu (|
) odešle procesy do rutiny Debug-Process
.
Pokud chcete zadat konkrétní proces PowerShellu, použijte parametr ID Get-Process
.
Příklad 6: Připojení ladicího programu k aktuálnímu procesu na místním počítači
Debug-Process -Id $PID
Tento příkaz připojí ladicí program k aktuálním procesům PowerShellu v počítači.
Příkaz používá $PID
automatickou proměnnou, která obsahuje ID procesu aktuálního procesu PowerShellu. Poté pomocí operátoru roury (|
) předá ID procesu rutině Debug-Process
.
Další informace o automatické proměnné $PID
najdete v části , která pojednává o about_Automatic_Variables.
Příklad 7: Připojení ladicího programu k procesu, který používá parametr InputObject
$P = Get-Process PowerShell
Debug-Process -InputObject $P
Tento příkaz připojí ladicí program k procesům PowerShellu v místním počítači.
První příkaz používá rutinu Get-Process
k získání procesů PowerShellu v počítači. Uloží výsledný objekt procesu do proměnné s názvem $P
.
Druhý příkaz používá parametr InputObject rutiny Debug-Process
k odeslání objektu procesu do proměnné $P
.
Parametry
-Confirm
Před spuštěním rutiny vás vyzve k potvrzení.
Typ: | SwitchParameter |
Aliasy: | cf |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-Id
Určuje ID procesů, které je třeba ladit. Název parametru ID je volitelný.
Chcete-li zjistit ID procesu, zadejte Get-Process
.
Typ: | Int32[] |
Aliasy: | PID, ProcessId |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-InputObject
Určuje objekty procesu, které představují procesy, které se mají ladit. Zadejte proměnnou obsahující objekty procesu nebo příkaz, který získá objekty procesu, například rutinu Get-Process
. Do tohoto příkazu můžete také přesměrovat objekty procesu.
Typ: | Process[] |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-Name
Určuje názvy procesů, které se mají debuggovat. Pokud existuje více procesů se stejným názvem, připojí tato rutina ladicí program ke všem procesům s tímto názvem. Parametr Name je volitelný.
Typ: | String[] |
Aliasy: | ProcessName |
Position: | 0 |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
-WhatIf
Ukazuje, co se stane, když se rutina spustí. Příkaz cmdlet nebyl spuštěn.
Typ: | SwitchParameter |
Aliasy: | wi |
Position: | Named |
Default value: | False |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
Vstupy
ID procesu můžete do tohoto cmdletu předat.
Objekt procesu můžete do této cmdletu přesměrovat.
Název procesu můžete předat tomuto cmdletu.
Výstupy
None
Tento cmdlet nevrátí žádný výstup.
Poznámky
Tento cmdlet používá metodu AttachDebugger třídy Win32_Process Windows Management Instrumentation (WMI). Další informace o této metodě najdete v tématu Metoda AttachDebugger v Microsoft Learn.