Debug-Process
Esegue il debug di uno o più processi in esecuzione nel computer locale.
Sintassi
Name (Impostazione predefinita)
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Il cmdlet Debug-Process 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 attualmente registrato per il processo. Prima di usare questo cmdlet, verificare che un debugger sia scaricato e configurato correttamente.
Esempio
Esempio 1: Collegare un debugger a un processo nel computer
PS C:\> Debug-Process -Name "Windows Powershell"
Questo comando collega un debugger al processo di Windows PowerShell nel computer.
Esempio 2: Collegare un debugger a tutti i processi che iniziano con la stringa specificata
PS C:\> Debug-Process -Name "SQL*"
Questo comando collega un debugger a tutti i processi con nomi che iniziano con SQL.
Esempio 3: Collegare un debugger a più processi
PS C:\> Debug-Process "Winlogon", "Explorer", "Outlook"
Questo comando collega un debugger ai processi Winlogon, Explorer e Outlook.
Esempio 4: Collegare un debugger a più ID processo
PS C:\> 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 collegare un debugger ad esso.
PS C:\> Get-Process "Windows PowerShell" | Debug-Process
Questo comando collega un debugger ai processi di Windows PowerShell nel computer. Utilizza il cmdlet Get-Process per ottenere i processi di Windows PowerShell nel computer e un operatore pipeline (|) per inviare i processi al cmdlet Debug-Process .
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
PS C:\> $PID | Debug-Process
Questo comando collega un debugger ai processi correnti di Windows PowerShell nel computer.
Il comando utilizza la variabile automatica $PID, che contiene l'ID del processo corrente di Windows PowerShell. 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: Collegare un debugger al processo specificato in più computer
PS C:\> 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 cmdlet Get-Process per ottenere i processi MyApp nei computer Server01 e Server02. Utilizza un operatore pipeline per inviare i processi al cmdlet Debug-Process, che collega i debugger.
Esempio 8: Collegare un debugger a un processo che usa il parametro InputObject
PS C:\> $P = Get-Process "Windows PowerShell"
PS C:\> Debug-Process -InputObject $P
Questo comando collega un debugger ai processi di Windows PowerShell nel computer locale.
Il primo comando utilizza il cmdlet Get-Process per ottenere i processi di Windows PowerShell nel computer. Salva l'oggetto processo risultante nella variabile denominata $P.
Il secondo comando utilizza il parametro InputObject del cmdlet Debug-Process per inviare l'oggetto processo nella variabile $P.
Parametri
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | cfr |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Id
Specifica gli ID processo dei processi di cui eseguire il debug. Il nome del parametro ID è facoltativo.
Per trovare l'ID processo di un processo, digitare Get-Process.
Proprietà dei parametri
| Tipo: | Int32[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | PID, ProcessId |
Set di parametri
Id
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-InputObject
Specifica gli oggetti processo che rappresentano i processi di cui eseguire il debug. Immettere una variabile che contiene gli oggetti processo o un comando che ottiene gli oggetti processo, ad esempio il cmdlet Get-Process. È anche possibile inviare tramite pipe oggetti di elaborazione a questo cmdlet.
Proprietà dei parametri
| Tipo: | Process[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
InputObject
| Posizione: | Named |
| Obbligatorio: | True |
| Valore dalla pipeline: | True |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | 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.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | ProcessName |
Set di parametri
Name
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Wi |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
System.Int32, System.Diagnostics.Process, System.String
È possibile reindirizzare un ID processo (Int32), un oggetto processo (System.Diagnostics.Process) o un nome di processo (String) a questo cmdlet.
Output
None
Questo cmdlet non genera alcun output.
Note
- Questo cmdlet usa il metodo AttachDebugger della classe wmi (Windows Management Instrumentation) Win32_Process. Per altre informazioni su questo metodo, vedere metodo AttachDebugger in MSDN Library.