Debuggt einen oder mehr Prozesse, die auf dem lokalen Computer ausgeführt werden.

Syntax

Debug-Process [-Name] <string[]> [-Bestätigung] [-WhatIf] [<CommonParameters>]

Debug-Process [-Id] <Int32[]> [-Bestätigung] [-WhatIf] [<CommonParameters>]

Debug-Process -InputObject <Process[]> [-Bestätigung] [-WhatIf] [<CommonParameters>]

Beschreibung

Das Cmdlet "Debug-Process" fügt einen Debugger an einen oder mehrere laufende Prozesse auf einem lokalen Computer an. Sie können die Prozesse durch ihren Prozessnamen oder Prozess-ID (PID) angeben, oder Sie können Prozessobjekte über die Pipeline an Debug-Process übergeben.

"Debug-Process" fügt den Debugger an, der gerade für den Prozess registriert ist. Überprüfen Sie vor dem Verwenden dieses Cmdlets, dass ein Debugger heruntergeladen und ordnungsgemäß konfiguriert wurde.

Parameter

-Id <Int32[]>

Gibt die Prozess-IDs der zu debuggenden Prozesse an. Der Parametername ("-Id") ist optional.

Um die Prozess-ID eines Prozesses zu suchen, geben Sie "Get-Process" ein.

Erforderlich?

true

Position?

1

Standardwert

keine

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-InputObject <Process[]>

Gibt die Prozessobjekte an, die zu debuggende Prozesse darstellen. Geben Sie eine Variable ein, die die Prozessobjekte enthält, oder einen Befehl, mit dem die Prozessobjekte erstellt oder abgerufen werden, z. B. der Befehl "Get-Process". Sie können Prozessobjekte auch über die Pipeline an" Debug-Process" übergeben.

Erforderlich?

true

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

true (ByValue)

Platzhalterzeichen akzeptieren?

false

-Name <string[]>

Gibt die Namen der zu debuggenden Prozesse an. Wenn mehrere Prozesse mit dem gleichen Namen vorhanden sind, fügt "Debug-Process" einen Debugger an alle Prozesse mit diesem Namen an. Der Parametername ("Name") ist optional.

Erforderlich?

true

Position?

1

Standardwert

Pipelineeingaben akzeptieren?

true (ByPropertyName)

Platzhalterzeichen akzeptieren?

false

-Bestätigung

Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

-WhatIf

Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.

Erforderlich?

false

Position?

named

Standardwert

Pipelineeingaben akzeptieren?

false

Platzhalterzeichen akzeptieren?

false

<CommonParameters>

Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.

Eingaben und Ausgaben

Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.

Eingaben

System.Int32, System.Diagnostics.Process, System.String

Sie können eine Prozess-ID (Int32), ein Prozessobjekt (System.Diagnostics.Process) oder einen Prozessnamen (String) über die Pipeline an Debug-Process übergeben.

Ausgaben

None

Dieses Cmdlet generiert keine Ausgabe.

Hinweise

Dieses Cmdlet verwendet die AttachDebugger-Methode der Win32_Process-Klasse der Windows-Verwaltungsinstrumentation. Weitere Informationen zu dieser Methode finden Sie unter "AttachDebugger-Methode" in der MSDN Library (Microsoft Developer Network) unter "https://go.microsoft.com/fwlink/?LinkId=143640" (möglicherweise auf Englisch).

Beispiel 1

C:\PS>debug-process -name powershell

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an den PowerShell-Prozess auf dem Computer an.






Beispiel 2

C:\PS>debug-process -name sql*

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an alle Prozesse an, deren Name mit "sql" beginnt.






Beispiel 3

C:\PS>debug-process winlogon, explorer, outlook

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an die Winlogon-, Explorer- und Outlook-Prozesse an.






Beispiel 4

C:\PS>debug-process -id 1132, 2028

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an die Prozesse mit den Prozess-IDs 1132 und 2028 an.






Beispiel 5

C:\PS>get-process powershell | debug-process

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an die PowerShell-Prozesse auf dem Computer an. Er ruft mit dem Cmdlet "Get-Process" die PowerShell-Prozesse auf dem Computer ab und sendet die Prozesse mit einem Pipelineoperator (|) an das Cmdlet "Debug-Process".

Verwenden Sie zum Angeben eines bestimmten PowerShell-Prozesses den ID-Parameter von Get-Process.






Beispiel 6

C:\PS>$pid | debug-process

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an die aktuellen PowerShell-Prozesse auf dem Computer an. 

Er verwendet die automatische Variable "$pid", die die Prozess-ID des aktuellen PowerShell-Prozesses enthält. Danach wird die Prozess-ID mithilfe eines Pipelineoperators (|) an das Cmdlet "Debug-Process" gesendet.

Weitere Informationen über die automatische Variable "$pid" finden Sie unter "about_Automatic_Variables".






Beispiel 7

C:\PS>get-process -computername Server01, Server02 -name MyApp | debug-process

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an die MyApp-Prozesse auf den Computern "Server01" und "Server02" an.

Er ruft mit dem Cmdlet "Get-Process" die MyApp-Prozesse auf den Computern "Server01" und "Server02" ab. Mit einem Pipelineoperator werden die Prozesse an das Cmdlet "Debug-Process" gesendet, das die Debugger anfügt.






Beispiel 8

C:\PS>$p = get-process powershell

C:\PS> debug-process -inputobject $p

Beschreibung
-----------
Dieser Befehl fügt einen Debugger an die PowerShell-Prozesse auf dem lokalen Computer an. 

Im ersten Befehl werden mit dem Cmdlet "Get-Process" die PowerShell-Prozesse auf dem Computer abgerufen. Das resultierende Prozessobjekt wird in der Variablen "$p" gespeichert.

Der zweite Befehl sendet das Prozessobjekt in der Variablen "$p" mit dem InputObject-Parameter von Debug-Process an Debug-Process.






Siehe auch




Inhaltsverzeichnis