Debug-Process
Depura um ou mais processos em execução no computador local.
Sintaxe
Debug-Process
[-Name] <String[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
[-Id] <Int32[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Debug-Process
-InputObject <Process[]>
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
O Debug-Process
cmdlet anexa um depurador a um ou mais processos em execução em um computador local.
Você pode especificar os processos pelo nome do processo ou ID do processo (PID) ou pode canalizar objetos de processo para esse cmdlet.
Esse 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
Esse 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*
Esse 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"
Esse comando tenta anexar um depurador aos processos Winlogon, Explorer e Outlook. O Winlogon é um processo protegido. Para depurar o Winlogon, você deve executar o comando como administrador.
Exemplo 4: anexar um depurador a várias IDs de processo
Debug-Process -Id 1132, 2028
Esse comando anexa um depurador aos processos que têm as IDs de processo 1132 e 2028.
Exemplo 5: Usar Get-Process para obter um processo e, em seguida, anexar um depurador a ele
Get-Process PowerShell | Debug-Process
Esse comando anexa um depurador aos processos do PowerShell no computador. Ele usa o Get-Process
cmdlet para obter os processos do PowerShell no computador e usa um operador de pipeline (|
) para enviar os processos para o Debug-Process
cmdlet.
Para especificar um processo específico do PowerShell, use o parâmetro de ID de Get-Process
.
Exemplo 6: Anexar um depurador a um processo atual no computador local
Debug-Process -Id $PID
Esse comando anexa um depurador aos processos atuais do PowerShell no computador.
O comando usa a $PID
variável automática, que contém a ID do processo do processo atual do PowerShell. Em seguida, ele usa um operador de pipeline (|
) para enviar a ID do processo para o Debug-Process
cmdlet.
Para obter mais informações sobre a variável automática, consulte about_Automatic_Variables$PID
.
Exemplo 7: anexar um depurador ao processo especificado em vários computadores
Get-Process -ComputerName "Server01", "Server02" -Name "MyApp" | Debug-Process
Esse comando anexa um depurador aos processos de MyApp nos computadores Server01 e Server02.
O comando usa o Get-Process
cmdlet para obter os processos MyApp nos computadores Server01 e Server02. Ele usa um operador de pipeline para enviar os processos para o Debug-Process
cmdlet, que anexa os depuradores.
Exemplo 8: anexar um depurador a um processo que usa o parâmetro InputObject
$P = Get-Process PowerShell
Debug-Process -InputObject $P
Esse comando anexa um depurador aos processos do PowerShell no computador local.
O primeiro comando usa o Get-Process
cmdlet 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 Debug-Process
cmdlet para enviar o objeto de processo na $P
variável.
Parâmetros
-Confirm
Solicita sua confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Id
Especifica os identificadores de processo dos processos a depurar. O nome do parâmetro Id é opcional.
Para localizar a ID de um processo, digite Get-Process
.
Tipo: | Int32[] |
Aliases: | PID, ProcessId |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 Get-Process
cmdlet. Você também pode canalizar objetos de processo para esse cmdlet.
Tipo: | Process[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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.
Tipo: | String[] |
Aliases: | ProcessName |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
Entradas
Você pode canalizar uma ID de processo para esse cmdlet.
Você pode canalizar um objeto de processo para esse cmdlet.
Você pode canalizar um nome de processo para esse cmdlet.
Saídas
None
Esse cmdlet não retorna nenhuma saída.
Observações
Esse cmdlet usa o método AttachDebugger da classe Win32_Process da WMI (Instrumentação de Gerenciamento do Windows). Para obter mais informações sobre esse método, consulte o método AttachDebugger na biblioteca MSDN.