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 ihres Prozessnamens oder ihrer 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*"
Mit diesem Befehl wird ein Debugger an alle Prozesse angefügt, deren Namen 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 Sie Get-Process, um einen Prozess abzurufen, und fügen Sie dann einen Debugger 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 Get-Process
Cmdlet, um die PowerShell-Prozesse auf dem Computer abzurufen, und es verwendet einen Pipelineoperator (|
), um die Prozesse an das Debug-Process
Cmdlet zu senden.
Verwenden Sie zum Angeben eines bestimmten PowerShell-Prozesses 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 $P
gespeichert.
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 ein, Get-Process
um die Prozess-ID eines Prozesses zu ermitteln.
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 enthält, oder einen Befehl, 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
System.Int32, System.Diagnostics.Process, System.String
Sie können eine Prozess-ID (Int32), ein Prozessobjekt (System.Diagnostics.Process) oder einen Prozessnamen (String) an dieses Cmdlet weiterleiten.
Ausgaben
None
Dieses Cmdlet generiert keine Ausgabe.
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.