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