Partilhar via


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 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 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"

Este comando anexa um depurador ao processo do Windows 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*"

Este 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"

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

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

PS C:\> 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

PS C:\> Get-Process "Windows PowerShell" | Debug-Process

Este comando anexa um depurador aos processos do Windows PowerShell no computador. Ele usa o cmdlet Get-Process para obter os processos do Windows 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

PS C:\> $PID | Debug-Process

Este comando anexa um depurador aos processos atuais do Windows PowerShell no computador.

O comando usa a variável automática $PID, que contém a ID do processo atual do Windows PowerShell. 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 ao processo especificado em vários computadores

PS C:\> Get-Process -ComputerName "Server01", "Server02" -Name "MyApp" | Debug-Process

Este comando anexa um depurador aos processos MyApp nos computadores Server01 e Server02.

O comando 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: 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

Este comando anexa um depurador aos processos do Windows PowerShell no computador local.

O primeiro comando usa o cmdlet Get-Process para obter os processos do Windows 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 process na variável $P.

Parâmetros

-Confirm

Solicita confirmação antes de executar o cmdlet.

Tipo:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

-Id

Especifica as IDs de processo dos processos a serem depurados. O Id nome do parâmetro é opcional.

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

Tipo:Int32[]
Aliases:PID, ProcessId
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais: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.

Tipo:Process[]
Position:Named
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais: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
Position:0
Default value:None
Necessário:True
Aceitar entrada de pipeline:True
Aceitar carateres universais:False

-WhatIf

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

Tipo:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Necessário:False
Aceitar entrada de pipeline:False
Aceitar carateres universais:False

Entradas

System.Int32, System.Diagnostics.Process, System.String

Você pode canalizar uma ID de processo (Int32), um objeto de processo (System.Diagnostics.Process) ou um nome de processo (String) para este cmdlet.

Saídas

None

Este cmdlet não gera 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 na biblioteca MSDN.