Depura um ou mais processos em execução no computador local.
Sintaxe
Debug-Process [-Name] <string[]> [-Confirm] [-WhatIf] [<CommonParameters>] Debug-Process [-Id] <Int32[]> [-Confirm] [-WhatIf] [<CommonParameters>] Debug-Process -InputObject <Process[]> [-Confirm] [-WhatIf] [<CommonParameters>]
Descrição
O cmdlet Debug-Process anexa um depurador a um ou mais processos em execução em um computador local. Você pode especificar os processos pelo respectivo nome ou pela PID (ID do processo) ou pode enviar por pipe os objetos do processo para Debug-Process.
Debug-Process anexa o depurador registrado no momento para o processo. Antes de usar este cmdlet, verifique se o depurador foi baixado e está configurado corretamente.
Parâmetros
-Id <Int32[]>
Especifica as IDs do processo dos processos a serem depurados. O nome do parâmetro ("-Id") é opcional.
Para localizar a ID do processo de um processo, digite "Get-Process".
Necessário? |
true |
Posição? |
1 |
Valor padrão |
nenhum |
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-InputObject <Process[]>
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 comando Get-Process. Você também pode enviar por pipe os objetos de processo para Debug-Process.
Necessário? |
true |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue) |
Aceitar caracteres curinga? |
false |
-Name <string[]>
Especifica os nomes dos processos a serem depurados. Se houver mais de um processo com o mesmo nome, Debug-Process anexará um depurador a todos os processos com esse nome. O nome do parâmetro ("Name") é opcional.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Confirm
Solicita confirmação antes da execução do comando.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-WhatIf
Descreve o que aconteceria se você executasse o comando, sem executá-lo de fato.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.Int32, System.Diagnostics.Process, System.String Você pode enviar uma ID de processo (Int32), um objeto de processo (System.Diagnostics.Process) ou um nome de processo (String) para Debug-Process. |
Saídas |
None Este cmdlet não gera nenhuma saída. |
Observações
Este cmdlet usa o método AttachDebugger da classe Win32_Process de WMI (Instrumentação de Gerenciamento do Windows). Para obter mais informações sobre esse método, consulte "AttachDebugger Method" na biblioteca do MSDN (Microsoft Developer Network) em (o site pode estar em inglês).
Exemplo 1
C:\PS>debug-process -name powershell Descrição ----------- Esse comando anexa um depurador ao processo do PowerShell no computador.
Exemplo 2
C:\PS>debug-process -name sql* Descrição ----------- Esse comando anexa um depurador a todos os processos cujos nomes começam com "sql".
Exemplo 3
C:\PS>debug-process winlogon, explorer, outlook Descrição ----------- Esse comando anexa um depurador aos processos do Winlogon, Explorer e Outlook.
Exemplo 4
C:\PS>debug-process -id 1132, 2028 Descrição ----------- Esse comando anexa um depurador aos processos com as IDs de processo 1132 e 2028.
Exemplo 5
C:\PS>get-process powershell | debug-process Descrição ----------- Esse 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 determinado processo do PowerShell, use o parâmetro ID de Get-Process.
Exemplo 6
C:\PS>$pid | debug-process Descrição ----------- Esse comando anexa um depurador aos processos atuais do PowerShell no computador. Ele usa a variável automática $pid, que contém a ID de processo do processo atual do PowerShell. Em seguida, ele usa o 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
C:\PS>get-process -computername Server01, Server02 -name MyApp | debug-process Descrição ----------- Esse comando anexa um depurador aos processos MyApp nos computadores Server01 e Server02. Ele usa o cmdlet Get-Process para obter os processos MyApp nos computadores Server01 e Server02. Ele usa um operador de pipeline para enviar os processos para o cmdlet Debug-Process, que anexa os depuradores.
Exemplo 8
C:\PS>$p = get-process powershell C:\PS> debug-process -inputobject $p Descrição ----------- Esse 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 $p. O segundo comando usa o parâmetro InputObject de Debug-Process para enviar o objeto de processo na variável $p para Debug-Process.
See Also