Freigeben über


Debug-Process

Debugt einen oder mehrere Prozesse, die auf dem lokalen Computer ausgeführt werden.

Syntax

Name (Standard)

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

Id

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

InputObject

Debug-Process
    -InputObject <Process[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Das cmdlet Debug-Process 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. Stellen Sie vor der Verwendung dieses Cmdlets sicher, dass ein Debugger heruntergeladen und ordnungsgemäß konfiguriert ist.

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 Prozesse Winlogon, Explorer und Outlook 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 Prozess-IDs 1132 und 2028 an.

Beispiel 5: Verwenden sie Get-Process, um einen Prozess abzurufen, und fügen Sie dann einen Debugger an ihn an.

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 Cmdlet Get-Process, um die PowerShell-Prozesse auf dem Computer abzurufen, und es verwendet einen Pipelineoperator (|), um die Prozesse an das Cmdlet Debug-Process zu senden.

Verwenden Sie den ID-Parameter von Get-Process, um einen bestimmten PowerShell-Prozess anzugeben.

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 Cmdlet Debug-Process 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 Cmdlet Get-Process, um die PowerShell-Prozesse auf dem Computer abzurufen. Das resultierende Prozessobjekt wird in der Variablen mit dem Namen $Pgespeichert.

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

Parameter

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:vgl

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-Id

Gibt die Prozess-IDs der zu debuggenden Prozesse an. Der parametername ID ist optional.

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

Parametereigenschaften

Typ:

Int32[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:PID, Prozess-ID

Parametersätze

Id
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-InputObject

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

Parametereigenschaften

Typ:

Process[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

InputObject
Position:Named
Obligatorisch:True
Wert aus Pipeline:True
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten: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 parameter Name ist optional.

Parametereigenschaften

Typ:

String[]

Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:ProcessName

Parametersätze

Name
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:True
Wert aus verbleibenden Argumenten:False

-WhatIf

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

Parametereigenschaften

Typ:SwitchParameter
Standardwert:False
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Wi

Parametersätze

(All)
Position:Named
Obligatorisch:False
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

CommonParameters

Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.

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 Windows-Verwaltungsinstrumentation (Windows Management Instrumentation, WMI) Win32_Process Klasse. Weitere Informationen zu dieser Methode finden Sie unter AttachDebugger-Methode in der MSDN Library.