Dela via


Debug-Process

Felsöker en eller flera processer som körs på den lokala datorn.

Syntax

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

Description

Cmdleten Debug-Process kopplar ett felsökningsprogram till en eller flera processer som körs på en lokal dator. Du kan ange processerna efter deras processnamn eller process-ID (PID), eller så kan du skicka processobjekt till den här cmdleten.

Den här cmdleten kopplar felsökningsprogrammet som är registrerat för processen. Innan du använder den här cmdleten kontrollerar du att ett felsökningsprogram har installerats och konfigurerats.

Exempel

Exempel 1: Koppla ett felsökningsprogram till en process på datorn

Debug-Process -Name Powershell

Det här kommandot kopplar ett felsökningsprogram till PowerShell-processen på datorn.

Exempel 2: Koppla ett felsökningsprogram till alla processer som börjar med den angivna strängen

Debug-Process -Name note*

Det här kommandot kopplar ett felsökningsprogram till alla processer som har namn som börjar med note.

Exempel 3: Koppla ett felsökningsprogram till flera processer

Debug-Process "Winlogon", "Explorer", "Outlook"

Det här kommandot försöker koppla ett felsökningsprogram till Winlogon-, Explorer- och Outlook-processerna. Winlogon är en skyddad process. Om du vill felsöka Winlogon måste du köra kommandot som administratör.

Exempel 4: Koppla ett felsökningsprogram till flera process-ID:t

Debug-Process -Id 1132, 2028

Det här kommandot kopplar ett felsökningsprogram till de processer som har process-ID:t 1132 och 2028.

Exempel 5: Använd Get-Process för att hämta en process och sedan koppla ett felsökningsprogram till den

Get-Process PowerShell | Debug-Process

Det här kommandot kopplar ett felsökningsprogram till PowerShell-processerna på datorn. Den använder cmdleten Get-Process för att hämta PowerShell-processerna på datorn och använder en pipelineoperator (|) för att skicka processerna till cmdleten Debug-Process .

Om du vill ange en viss PowerShell-process använder du ID-parametern Get-Processför .

Exempel 6: Koppla ett felsökningsprogram till en aktuell process på den lokala datorn

Debug-Process -Id $PID

Det här kommandot kopplar ett felsökningsprogram till de aktuella PowerShell-processerna på datorn.

Kommandot använder den $PID automatiska variabeln, som innehåller process-ID för den aktuella PowerShell-processen. Sedan använder den en pipelineoperator (|) för att skicka process-ID:t till cmdleten Debug-Process .

Mer information om den $PID automatiska variabeln finns i about_Automatic_Variables.

Exempel 7: Koppla ett felsökningsprogram till en process som använder parametern InputObject

$P = Get-Process PowerShell
Debug-Process -InputObject $P

Det här kommandot kopplar ett felsökningsprogram till PowerShell-processerna på den lokala datorn.

Det första kommandot använder cmdleten Get-Process för att hämta PowerShell-processerna på datorn. Det sparar det resulterande processobjektet i variabeln med namnet $P.

Det andra kommandot använder parametern InputObject för cmdleten Debug-Process för att skicka processobjektet i variabeln $P .

Parametrar

-Confirm

Uppmanar dig att bekräfta innan du kör cmdleten.

Typ:SwitchParameter
Alias:cf
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-Id

Anger process-ID:t för de processer som ska kopplas från. Id-parameternamnet är valfritt.

Om du vill hitta process-ID:t för en process skriver du Get-Process.

Typ:Int32[]
Alias:PID, ProcessId
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-InputObject

Anger de processobjekt som representerar processer som ska debuggas. Ange en variabel som innehåller processobjekten eller ett kommando som hämtar processobjekten, till exempel cmdleten Get-Process . Du kan också skicka processobjekt till den här cmdleten.

Typ:Process[]
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Name

Anger namnen på de processer som ska kopplas från. Om det finns fler än en process med samma namn bifogar den här cmdleten ett felsökningsprogram till alla processer med det namnet. Parametern Namn är valfri.

Typ:String[]
Alias:ProcessName
Position:0
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-WhatIf

Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.

Typ:SwitchParameter
Alias:wi
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

Indata

Int32

Du kan skicka ett process-ID till den här cmdleten.

Process

Du kan skicka ett processobjekt till den här cmdleten.

String

Du kan skicka ett processnamn till den här cmdleten.

Utdata

None

Den här cmdleten returnerar inga utdata.

Kommentarer

Den här cmdleten använder metoden AttachDebugger i klassen Windows Management Instrumentation (WMI) Win32_Process. Mer information om den här metoden finns i AttachDebugger-metoden i MSDN-biblioteket.