Esegue il debug di uno o più processi in esecuzione nel computer locale.

Sintassi

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

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

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

Descrizione

Con il cmdlet Debug-Process viene collegato un debugger a uno o più processi in esecuzione in un computer locale. È possibile specificare i processi in base al nome o all'ID processo (PID) oppure reindirizzare gli oggetti processo a Debug-Process.

Con Debug-Process viene collegato il debugger attualmente registrato per il processo. Prima di utilizzare questo cmdlet, verificare che sia stato scaricato e correttamente configurato un debugger.

Parametri

-Id <Int32[]>

Specifica gli ID dei processi da sottoporre a debug. Il nome del parametro ("-Id") è facoltativo.

Per trovare l'ID di un processo, digitare "Get-Process".

Obbligatorio?

true

Posizione?

1

Valore predefinito

nessuno

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-InputObject <Process[]>

Specifica gli oggetti processo che rappresentano i processi di cui eseguire il debug. Immettere una variabile contenente gli oggetti processo o un comando che ottenga gli oggetti processo, quale un comando Get-Process. È anche possibile reindirizzare gli oggetti processo a Debug-Process.

Obbligatorio?

true

Posizione?

named

Valore predefinito

Accettare input da pipeline?

true (ByValue)

Accettare caratteri jolly?

false

-Name <string[]>

Specifica i nomi dei processi di cui eseguire il debug. Se sono presenti più processi con lo stesso nome, Debug-Process collega un debugger a tutti i processi con tale nome. Il nome del parametro ("Name") è facoltativo.

Obbligatorio?

true

Posizione?

1

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Confirm

Chiede una conferma prima di eseguire il comando.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-WhatIf

Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

<CommonParameters>

Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.

Input e output

Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.

Input

System.Int32, System.Diagnostics.Process, System.String

È possibile reindirizzare un ID processo (Int32), un oggetto processo (System.Diagnostics.Process) o un nome processo (String) a Debug-Process.

Output

Nessuno

Questo cmdlet non genera alcun output.

Note

Questo cmdlet utilizza il metodo AttachDebugger della classe Windows Management Instrumentation (WMI) Win32_Process. Per ulteriori informazioni su questo metodo, vedere l'argomento relativo al metodo AttachDebugger in MSDN (Microsoft Developer Network) Library all'indirizzo https://go.microsoft.com/fwlink/?LinkId=143640 (le informazioni potrebbero essere in lingua inglese).

Esempio 1

C:\PS>debug-process -name powershell

Descrizione
-----------
Con questo comando viene collegato un debugger al processo di PowerShell nel computer.






Esempio 2

C:\PS>debug-process -name sql*

Descrizione
-----------
Con questo comando viene collegato un debugger a tutti i processi i cui nomi iniziano con "sql."






Esempio 3

C:\PS>debug-process winlogon, explorer, outlook

Descrizione
-----------
Con questo comando viene collegato un debugger ai processi a Winlogon, Explorer e Outlook.






Esempio 4

C:\PS>debug-process -id 1132, 2028

Descrizione
-----------
Con questo comando viene collegato un debugger ai processi che presentano gli ID processo 1132 e 2028.






Esempio 5

C:\PS>get-process powershell | debug-process

Descrizione
-----------
Con questo comando viene collegato un debugger ai processi di PowerShell nel computer. Viene utilizzato il cmdlet Get-Process per ottenere i processi PowerShell nel computer e viene utilizzato un operatore pipeline (|) per inviare i processi al cmdlet Debug-Process.

Per specificare un particolare processo di PowerShell, utilizzare il parametro ID di Get-Process.






Esempio 6

C:\PS>$pid | debug-process

Descrizione
-----------
Con questo comando viene collegato un debugger ai processi di PowerShell correnti nel computer. 

Viene utilizzata la variabile automatica $pid che contiene l'ID processo del processo di PowerShell corrente. Viene quindi utilizzato un operatore pipeline (|) per inviare l'ID processo al cmdlet Debug-Process.

Per ulteriori informazioni sulla variabile automatica $pid, vedere about_Automatic_Variables.






Esempio 7

C:\PS>get-process -computername Server01, Server02 -name MyApp | debug-process

Descrizione
-----------
Con questo comando viene collegato un debugger ai processi MyApp nei computer Server01 e Server02.

Viene utilizzato il cmdlet Get-Process per ottenere i processi MyApp nei computer Server01 e Server02. Viene utilizzato l'operatore pipeline per inviare i processi al cmdlet Debug-Process che collega i debugger.






Esempio 8

C:\PS>$p = get-process powershell

C:\PS> debug-process -inputobject $p

Descrizione
-----------
Con questo comando viene collegato un debugger ai processi di PowerShell nel computer locale. 

Nel primo comando viene utilizzato il cmdlet Get-Process per ottenere i processi di PowerShell disponibili nel computer. L'oggetto processo risultante viene salvato nella variabile $p.

Nel secondo comando viene utilizzato il parametro InputObject di Debug-Process per inviare l'oggetto processo nella variabile $p a Debug-Process.






Vedere anche




Argomenti della Guida