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




Sumário