Debug-Process
Depura um ou mais processos em execução no computador local.
Sintaxe
Name (Predefinição)
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Id
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O cmdlet Debug-Process anexa um depurador a um ou mais processos em execução em um computador local.
Você pode especificar os processos por seu nome de processo ou ID de processo (PID), ou pode canalizar objetos de processo para este cmdlet.
Este cmdlet anexa o depurador registrado para o processo. Antes de usar esse cmdlet, verifique se um depurador está instalado e configurado.
Exemplos
Exemplo 1: Anexar um depurador a um processo no computador
Debug-Process -Name powershell
Este comando anexa um depurador ao processo do PowerShell no computador.
Exemplo 2: Anexar um depurador a todos os processos que começam com a cadeia de caracteres especificada
Debug-Process -Name note*
Este comando anexa um depurador a todos os processos que têm nomes que começam com note.
Exemplo 3: Anexar um depurador a vários processos
Debug-Process "Winlogon", "Explorer", "Outlook"
Este comando tenta anexar um depurador aos processos Winlogon, Explorer e Outlook. Winlogon é um processo protegido. Para depurar o Winlogon, você deve executar o comando como administrador.
Exemplo 4: Anexar um depurador a vários IDs de processo
Debug-Process -Id 1132, 2028
Este comando anexa um depurador aos processos que têm IDs de processo 1132 e 2028.
Exemplo 5: Use Get-Process para obter um processo e, em seguida, anexe um depurador a ele
Get-Process powershell | Debug-Process
Este comando anexa um depurador aos processos do PowerShell no computador. Ele usa o cmdlet Get-Process para obter os processos do PowerShell no computador e usa um operador de pipeline (|) para enviar os processos para o cmdlet Debug-Process.
Para especificar um processo específico do PowerShell, use o parâmetro Id de Get-Process.
Exemplo 6: Anexar um depurador a um processo atual no computador local
Debug-Process -Id $PID
Este comando anexa um depurador aos processos atuais do PowerShell no computador.
O comando usa a variável automática $PID, que contém a ID do processo do PowerShell atual. Em seguida, ele usa um operador de pipeline (|) para enviar a ID do processo para o cmdlet Debug-Process.
Para obter mais informações sobre a variável automática $PID, consulte about_Automatic_Variables.
Exemplo 7: Anexar um depurador a um processo que usa o parâmetro InputObject
$P = Get-Process powershell
Debug-Process -InputObject $P
Este comando anexa um depurador aos processos do PowerShell no computador local.
O primeiro comando usa o cmdlet Get-Process para obter os processos do PowerShell no computador. Ele salva o objeto de processo resultante na variável chamada $P.
O segundo comando usa o parâmetro InputObject do cmdlet Debug-Process para enviar o objeto de processo na variável $P.
Parâmetros
-Confirm
Solicita confirmação antes de executar o cmdlet.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Cf. |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Id
Especifica os identificadores dos processos a serem depurados. O Id nome do parâmetro é opcional.
Para localizar a ID de um processo, digite Get-Process.
Propriedades dos parâmetros
| Tipo: | Int32[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | PID, ProcessId |
Conjuntos de parâmetros
Id
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-InputObject
Especifica os objetos de processo que representam os processos a serem depurados. Insira uma variável que contenha os objetos de processo ou um comando que obtenha os objetos de processo, como o cmdlet Get-Process. Você também pode canalizar objetos de processo para este cmdlet.
Propriedades dos parâmetros
| Tipo: | Process[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
Conjuntos de parâmetros
InputObject
| Position: | Named |
| Obrigatório: | True |
| Valor do pipeline: | True |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
-Name
Especifica os nomes dos processos a serem depurados. Se houver mais de um processo com o mesmo nome, esse cmdlet anexará um depurador a todos os processos com esse nome. O parâmetro Name é opcional.
Propriedades dos parâmetros
| Tipo: | String[] |
| Default value: | None |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | ProcessName |
Conjuntos de parâmetros
Name
| Position: | 0 |
| Obrigatório: | True |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | True |
| Valor dos restantes argumentos: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Propriedades dos parâmetros
| Tipo: | SwitchParameter |
| Default value: | False |
| Suporta carateres universais: | False |
| NãoMostrar: | False |
| Aliases: | Wi |
Conjuntos de parâmetros
(All)
| Position: | Named |
| Obrigatório: | False |
| Valor do pipeline: | False |
| Valor do pipeline por nome de propriedade: | False |
| Valor dos restantes argumentos: | False |
CommonParameters
Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.
Entradas
Int32
Você pode canalizar uma ID de processo para este cmdlet.
Process
Você pode canalizar um objeto de processo para este cmdlet.
String
Você pode canalizar um nome de processo para este cmdlet.
Saídas
None
Este cmdlet não retorna nenhuma saída.
Notas
Este cmdlet usa o método AttachDebugger da classe Win32_Process WMI (Instrumentação de Gerenciamento do Windows). Para obter mais informações sobre esse método, consulte método AttachDebugger no Microsoft Learn.