Debug-Process
Fouten opsporen in een of meer processen die worden uitgevoerd op de lokale computer.
Syntax
Name (Standaard)
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Met de cmdlet Debug-Process wordt een debugger gekoppeld aan een of meer actieve processen op een lokale computer. U kunt de processen opgeven op basis van hun procesnaam of proces-id (PID), of u kunt procesobjecten doorsluisen naar deze cmdlet.
Deze cmdlet voegt het foutopsporingsprogramma toe dat momenteel is geregistreerd voor het proces. Controleer voordat u deze cmdlet gebruikt of een foutopsporingsprogramma is gedownload en correct is geconfigureerd.
Voorbeelden
Voorbeeld 1: Een foutopsporingsprogramma koppelen aan een proces op de computer
PS C:\> Debug-Process -Name "Windows Powershell"
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan het Windows PowerShell-proces op de computer.
Voorbeeld 2: Een foutopsporingsprogramma koppelen aan alle processen die beginnen met de opgegeven tekenreeks
PS C:\> Debug-Process -Name "SQL*"
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan alle processen met namen die beginnen met SQL.
Voorbeeld 3: Een foutopsporingsprogramma koppelen aan meerdere processen
PS C:\> Debug-Process "Winlogon", "Explorer", "Outlook"
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan de processen Winlogon, Explorer en Outlook.
Voorbeeld 4: Een foutopsporingsprogramma koppelen aan meerdere proces-id's
PS C:\> Debug-Process -Id 1132, 2028
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan de processen met proces-id's 1132 en 2028.
Voorbeeld 5: Gebruik Get-Process om een proces op te halen en voeg er vervolgens een foutopsporingsprogramma aan toe
PS C:\> Get-Process "Windows PowerShell" | Debug-Process
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan de Windows PowerShell-processen op de computer. Er wordt de cmdlet Get-Process gebruikt om de Windows PowerShell-processen op de computer op te halen en er wordt een pijplijnoperator (|) gebruikt om de processen naar de cmdlet Debug-Process te verzenden.
Als u een bepaald PowerShell-proces wilt opgeven, gebruikt u de ID-parameter van Get-Process.
Voorbeeld 6: Een foutopsporingsprogramma koppelen aan een huidig proces op de lokale computer
PS C:\> $PID | Debug-Process
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan de huidige Windows PowerShell-processen op de computer.
De opdracht maakt gebruik van de $PID automatische variabele, die de proces-id van het huidige Windows PowerShell-proces bevat. Vervolgens wordt een pijplijnoperator (|) gebruikt om de proces-ID naar de cmdlet Debug-Process te verzenden.
Zie about_Automatic_Variables voor meer informatie over de $PID automatische variabele.
Voorbeeld 7: Een foutopsporingsprogramma koppelen aan het opgegeven proces op meerdere computers
PS C:\> Get-Process -ComputerName "Server01", "Server02" -Name "MyApp" | Debug-Process
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan de MyApp-processen op de Server01- en Server02-computers.
De opdracht maakt gebruik van de cmdlet Get-Process om de MyApp-processen op de computers Server01 en Server02 op te halen. Er wordt een pijplijnoperator gebruikt om de processen te verzenden naar de cmdlet Debug-Process, waarmee de foutopsporingsprogramma's worden gekoppeld.
Voorbeeld 8: Een foutopsporingsprogramma koppelen aan een proces dat gebruikmaakt van de parameter InputObject
PS C:\> $P = Get-Process "Windows PowerShell"
PS C:\> Debug-Process -InputObject $P
Met deze opdracht wordt een foutopsporingsprogramma gekoppeld aan de Windows PowerShell-processen op de lokale computer.
De eerste opdracht maakt gebruik van de cmdlet Get-Process om de Windows PowerShell-processen op de computer op te halen. Het resulterende procesobject wordt opgeslagen in de variabele met de naam $P.
De tweede opdracht maakt gebruik van de parameter InputObject van de cmdlet Debug-Process om het procesobject in de variabele $P te verzenden.
Parameters
-Confirm
Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Cf |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Id
Hiermee geeft u de proces-id's van de processen die moeten worden opgespoord. De -id parameternaam is optioneel.
Als u de proces-id van een proces wilt zoeken, typt u Get-Process.
Parametereigenschappen
| Type: | Int32[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | PID, ProcessId |
Parametersets
Id
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-InputObject
Hiermee geeft u de procesobjecten op die processen vertegenwoordigen die moeten worden opgespoord. Voer een variabele in die de procesobjecten bevat of een opdracht waarmee de procesobjecten worden opgehaald, zoals de cmdlet Get-Process. U kunt ook procesobjecten doorsluisen naar deze cmdlet.
Parametereigenschappen
| Type: | Process[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
Parametersets
InputObject
| Position: | Named |
| Verplicht: | True |
| Waarde uit pijplijn: | True |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
-Name
Hiermee geeft u de namen op van de processen die moeten worden opgespoord. Als er meer dan één proces met dezelfde naam is, koppelt deze cmdlet een foutopsporingsprogramma aan alle processen met die naam. De parameter Name is optioneel.
Parametereigenschappen
| Type: | String[] |
| Default value: | None |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | ProcessName |
Parametersets
Name
| Position: | 0 |
| Verplicht: | True |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | True |
| Waarde van resterende argumenten: | False |
-WhatIf
Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Parametereigenschappen
| Type: | SwitchParameter |
| Default value: | False |
| Ondersteunt jokertekens: | False |
| DontShow: | False |
| Aliassen: | Wi |
Parametersets
(All)
| Position: | Named |
| Verplicht: | False |
| Waarde uit pijplijn: | False |
| Waarde uit pijplijn op eigenschapsnaam: | False |
| Waarde van resterende argumenten: | False |
CommonParameters
Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.
Invoerwaarden
System.Int32, System.Diagnostics.Process, System.String
U kunt een proces-ID (Int32), een procesobject (System.Diagnostics.Process) of een procesnaam (String) naar deze cmdlet pipen.
Uitvoerwaarden
None
Met deze cmdlet wordt geen uitvoer gegenereerd.
Notities
- Deze cmdlet maakt gebruik van de AttachDebugger-methode van de WMI-Win32_Process klasse (Windows Management Instrumentation). Zie AttachDebugger-methode in de MSDN-bibliotheek voor meer informatie over deze methode.