Compartilhar via


Debug-Process

Depura um ou mais processos em execução no computador local.

Syntax

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 atualmente registrado para o processo. Antes de usar esse cmdlet, verifique se um depurador foi baixado e configurado corretamente.

Exemplos

Exemplo 1: Anexar um depurador a um processo no computador

PS C:\> Debug-Process -Name "Windows 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

PS C:\> Debug-Process -Name "SQL*"

Esse comando anexa um depurador a todos os processos que têm nomes que começam com SQL.

Exemplo 3: Anexar um depurador a vários processos

PS C:\> Debug-Process "Winlogon", "Explorer", "Outlook"

Esse comando anexa um depurador aos processos Winlogon, Explorer e Outlook.

Exemplo 4: Anexar um depurador a várias IDs de processo

PS C:\> Debug-Process -Id 1132, 2028

Esse comando anexa um depurador aos processos que têm as IDs de processo 1132 e 2028.

Exemplo 5: Use Get-Process para obter um processo e anexe um depurador a ele

PS C:\> Get-Process "Windows 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 ID de Get-Process.

Exemplo 6: Anexar um depurador a um processo atual no computador local

PS C:\> $PID | Debug-Process

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 PowerShell atual. 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 $PID variável automática, consulte about_Automatic_Variables.

Exemplo 7: Anexar um depurador a um processo que usa o parâmetro InputObject

PS C:\> $P = Get-Process "Windows PowerShell"
PS C:\> 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 cmdlet para enviar o objeto de Debug-Process processo na $P variável.

Parâmetros

-Confirm

Solicita sua confirmação antes de executar o cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Especifica os identificadores de processo dos processos a depurar. O nome do parâmetro Id é opcional.

Para localizar a ID do processo de um processo, digite Get-Process.

Type:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:Process[]
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:String[]
Aliases:ProcessName
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-WhatIf

Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entradas

Int32

Você pode canalizar uma ID de processo para esse cmdlet.

Process

Você pode canalizar um objeto de processo para esse cmdlet.

String

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 AttachDebugger método na biblioteca MSDN.