Sdílet prostřednictvím


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

Int32

ID procesu můžete do tohoto cmdletu předat.

Process

Objekt procesu můžete do této cmdletu přesměrovat.

String

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.