Compartilhar via


Debug-Process

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

Sintaxe

Name (Default)

Debug-Process
    [-Name] <String[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Id

Debug-Process
    [-Id] <Int32[]>
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

InputObject

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 pelo nome do processo ou pela ID do processo (PID) ou pode canalizar objetos de processo para este cmdlet.

Esse cmdlet anexa o depurador que está registrado no momento para o processo. Antes de usar esse cmdlet, verifique se um depurador foi baixado e configurado corretamente.

Exemplos

Exemplo 1: Vincular um depurador a um processo no computador

PS C:\> Debug-Process -Name "Windows Powershell"

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

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 do Winlogon, explorer e Outlook.

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

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

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

Exemplo 5: Usar Get-Process para obter um processo e, depois, anexar um depurador a ele

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

Esse 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 de ID do 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 Windows PowerShell no computador.

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

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

O comando usa o cmdlet get-process para obter os processos do 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

Esse 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 de processo na variável $P.

Parâmetros

-Confirm

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:cf

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Id

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

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

Propriedades do parâmetro

Tipo:

Int32[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:PID, ProcessId

Conjuntos de parâmetros

Id
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-InputObject

Especifica os objetos de processo que representam processos a serem depurados. Insira uma variável que contenha os objetos de processo ou um comando que obtém os objetos de processo, como o cmdlet Get-Process. Você também pode canalizar objetos de processo para este cmdlet.

Propriedades do parâmetro

Tipo:

Process[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False

Conjuntos de parâmetros

InputObject
Cargo:Named
Obrigatório:True
Valor do pipeline:True
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

-Name

Especifica os nomes dos processos a serem depurados. Se houver mais de um processo com o mesmo nome, esse cmdlet anexa um depurador a todos os processos com esse nome. O parâmetro Nome é opcional.

Propriedades do parâmetro

Tipo:

String[]

Valor padrão:None
Dá suporte a curingas:False
DontShow:False
Aliases:ProcessName

Conjuntos de parâmetros

Name
Cargo:0
Obrigatório:True
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:True
Valor dos argumentos restantes:False

-WhatIf

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

Propriedades do parâmetro

Tipo:SwitchParameter
Valor padrão:False
Dá suporte a curingas:False
DontShow:False
Aliases:wi

Conjuntos de parâmetros

(All)
Cargo:Named
Obrigatório:False
Valor do pipeline:False
Valor do pipeline pelo nome da propriedade:False
Valor dos argumentos restantes:False

CommonParameters

Este cmdlet suporta os parâmetros comuns: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Para obter mais informações, consulte about_CommonParameters.

Entradas

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

Você pode redirecionar 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 saída.

Observações

  • Esse cmdlet usa o método AttachDebugger da classe WMI (Instrumentação de Gerenciamento do Windows) Win32_Process. Para obter mais informações sobre esse método, consulte método AttachDebugger na biblioteca MSDN.