Debug-Process
Esegue il debug di uno o più processi in esecuzione nel computer locale.
Sintassi
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il Debug-Process
cmdlet collega un debugger a uno o più processi in esecuzione in un computer locale.
È possibile specificare i processi in base al nome del processo o all'ID processo (PID) oppure inviare tramite pipe oggetti di elaborazione a questo cmdlet.
Questo cmdlet collega il debugger registrato per il processo. Prima di usare questo cmdlet, verificare che sia installato e configurato un debugger.
Esempio
Esempio 1: Collegare un debugger a un processo nel computer
Debug-Process -Name Powershell
Questo comando collega un debugger al processo di PowerShell nel computer.
Esempio 2: Collegare un debugger a tutti i processi che iniziano con la stringa specificata
Debug-Process -Name note*
Questo comando collega un debugger a tutti i processi con nomi che iniziano con note
.
Esempio 3: Collegare un debugger a più processi
Debug-Process "Winlogon", "Explorer", "Outlook"
Questo comando tenta di collegare un debugger ai processi Winlogon, Explorer e Outlook. Winlogon è un processo protetto. Per eseguire il debug di Winlogon, è necessario eseguire il comando come amministratore.
Esempio 4: Collegare un debugger a più ID processo
Debug-Process -Id 1132, 2028
Questo comando collega un debugger ai processi con ID processo 1132 e 2028.
Esempio 5: Usare Get-Process per ottenere un processo e quindi collegarvi un debugger
Get-Process PowerShell | Debug-Process
Questo comando collega un debugger ai processi di PowerShell nel computer. Usa il Get-Process
cmdlet per ottenere i processi di PowerShell nel computer e usa un operatore pipeline (|
) per inviare i processi al Debug-Process
cmdlet.
Per specificare un particolare processo di PowerShell, usare il parametro ID di Get-Process
.
Esempio 6: Collegare un debugger a un processo corrente nel computer locale
Debug-Process -Id $PID
Questo comando collega un debugger ai processi correnti di PowerShell nel computer.
Il comando usa la $PID
variabile automatica, che contiene l'ID processo del processo di PowerShell corrente. Usa quindi un operatore pipeline (|
) per inviare l'ID processo al Debug-Process
cmdlet .
Per altre informazioni sulla $PID
variabile automatica, vedere about_Automatic_Variables.
Esempio 7: Collegare un debugger al processo specificato in più computer
Get-Process -ComputerName "Server01", "Server02" -Name "MyApp" | Debug-Process
Questo comando collega un debugger ai processi MyApp nei computer Server01 e Server02.
Il comando usa il Get-Process
cmdlet per ottenere i processi MyApp nei computer Server01 e Server02. Usa un operatore pipeline per inviare i processi al Debug-Process
cmdlet , che collega i debugger.
Esempio 8: Collegare un debugger a un processo che usa il parametro InputObject
$P = Get-Process PowerShell
Debug-Process -InputObject $P
Questo comando collega un debugger ai processi di PowerShell nel computer locale.
Il primo comando usa il Get-Process
cmdlet per ottenere i processi di PowerShell nel computer. Salva l'oggetto processo risultante nella variabile denominata $P
.
Il secondo comando usa il parametro InputObject del Debug-Process
cmdlet per inviare l'oggetto processo nella $P
variabile .
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Id
Specifica gli ID dei processi di cui eseguire il debug. Il nome del parametro ID è facoltativo.
Per trovare l'ID processo di un processo, digitare Get-Process
.
Tipo: | Int32[] |
Alias: | PID, ProcessId |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-InputObject
Specifica gli oggetti processo che rappresentano i processi di cui eseguire il debug. Immettere una variabile contenente gli oggetti processo o un comando che ottiene gli oggetti processo, ad esempio il Get-Process
cmdlet . È anche possibile inviare tramite pipe oggetti di elaborazione a questo cmdlet.
Tipo: | Process[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-Name
Specifica i nomi dei processi di cui eseguire il debug. Se sono presenti più processi con lo stesso nome, questo cmdlet collega un debugger a tutti i processi con tale nome. Il parametro Name è facoltativo.
Tipo: | String[] |
Alias: | ProcessName |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | True |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
È possibile inviare tramite pipe un ID processo a questo cmdlet.
È possibile inviare tramite pipe un oggetto processo a questo cmdlet.
È possibile inviare tramite pipe un nome di processo a questo cmdlet.
Output
None
Questo cmdlet non restituisce output.
Note
Questo cmdlet usa il metodo AttachDebugger della classe Win32_Process di Strumentazione gestione Windows (WMI). Per altre informazioni su questo metodo, vedere Metodo AttachDebugger in MSDN Library.