Debug-Process

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

Syntax

Debug-Process
     [-Name] <String[]>
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Process
     [-Id] <Int32[]>
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Debug-Process
     -InputObject <Process[]>
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

Beschreibung

Das Debug-Process Cmdlet fügt einen Debugger an einen oder mehrere ausgeführte Prozesse auf einem lokalen Computer an. Sie können die Prozesse anhand des Prozessnamens oder der Prozess-ID (PID) angeben, oder Sie können Prozessobjekte an dieses Cmdlet weiterleiten.

Dieses Cmdlet fügt den Debugger an, der derzeit für den Prozess registriert ist. Überprüfen Sie vor dem Verwenden dieses Cmdlets, dass ein Debugger heruntergeladen und ordnungsgemäß konfiguriert wurde.

Beispiele

Beispiel 1: Anfügen eines Debuggers an einen Prozess auf dem Computer

PS C:\> Debug-Process -Name "Windows Powershell"

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

Beispiel 2: Anfügen eines Debuggers an alle Prozesse, die mit der angegebenen Zeichenfolge beginnen

PS C:\> Debug-Process -Name "SQL*"

Dieser Befehl fügt einen Debugger an alle Prozesse an, die Namen enthalten, die mit SQL beginnen.

Beispiel 3: Anfügen eines Debuggers an mehrere Prozesse

PS C:\> Debug-Process "Winlogon", "Explorer", "Outlook"

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

Beispiel 4: Anfügen eines Debuggers an mehrere Prozess-IDs

PS C:\> Debug-Process -Id 1132, 2028

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

Beispiel 5: Verwenden von "Get-Process", um einen Prozess abzurufen und dann einen Debugger an ihn anzufügen

PS C:\> Get-Process "Windows PowerShell" | Debug-Process

Dieser Befehl fügt einen Debugger an die PowerShell-Prozesse auf dem Computer an. Es verwendet das Get-Process Cmdlet, um die PowerShell-Prozesse auf dem Computer abzurufen, und es verwendet einen Pipelineoperator (|) zum Senden der Prozesse an das Debug-Process Cmdlet.

Um einen bestimmten PowerShell-Prozess anzugeben, verwenden Sie den ID-Parameter von Get-Process.

Beispiel 6: Anfügen eines Debuggers an einen aktuellen Prozess auf dem lokalen Computer

PS C:\> $PID | Debug-Process

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

Der Befehl verwendet die $PID automatische Variable, die die Prozess-ID des aktuellen PowerShell-Prozesses enthält. Anschließend wird ein Pipelineoperator (|) verwendet, um die Prozess-ID an das Debug-Process Cmdlet zu senden.

Weitere Informationen zur $PID automatischen Variablen finden Sie unter about_Automatic_Variables.

Beispiel 7: Anfügen eines Debuggers an einen Prozess, der den InputObject-Parameter verwendet

PS C:\> $P = Get-Process "Windows PowerShell"
PS C:\> Debug-Process -InputObject $P

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

Der erste Befehl verwendet das Get-Process Cmdlet, um die PowerShell-Prozesse auf dem Computer abzurufen. Das resultierende Prozessobjekt wird in der Variablen mit dem Namen gespeichert $P.

Der zweite Befehl verwendet den InputObject-Parameter des Debug-Process Cmdlets, um das Prozessobjekt in der $P Variablen zu übermitteln.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

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

Geben Sie Get-Processdie Prozess-ID eines Prozesses ein, um die Prozess-ID zu finden.

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InputObject

Gibt die Prozessobjekte an, die zu debuggende Prozesse darstellen. Geben Sie eine Variable ein, die die Prozessobjekte oder einen Befehl enthält, der die Prozessobjekte abruft, z. B. das Get-Process Cmdlet. Sie können auch Prozessobjekte an dieses Cmdlet weiterleiten.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-Name

Gibt die Namen der zu debuggenden Prozesse an. Wenn mehrere Prozesse mit demselben Namen vorhanden sind, fügt dieses Cmdlet einen Debugger an alle Prozesse mit diesem Namen an. Der Name-Parameter ist optional.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Eingaben

Int32

Sie können eine Prozess-ID an dieses Cmdlet weiterleiten.

Process

Sie können ein Prozessobjekt an dieses Cmdlet weiterleiten.

String

Sie können einen Prozessnamen an dieses Cmdlet weiterleiten.

Ausgaben

None

Dieses Cmdlet gibt keine Ausgabe zurück.

Hinweise

Dieses Cmdlet verwendet die AttachDebugger-Methode der Win32_Process-Klasse der Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI). Weitere Informationen zu dieser Methode finden Sie unter AttachDebugger-Methode in der MSDN Library.