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 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: 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 do 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 IDs de processo 1132 e 2028.
Exemplo 5: usar Get-Process para obter um processo e anexar 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 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 processo específico do PowerShell, use o parâmetro de 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 variável $PID
automática, que contém a ID do processo do processo atual do 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 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 cmdlet Get-Process
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 Debug-Process
para enviar o objeto de processo na variável $P
.
Parâmetros
-Confirm
Solicita a confirmação antes de executar o cmdlet.
Tipo: | SwitchParameter |
Aliases: | cf |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-Id
Especifica as IDs de 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
.
Tipo: | Int32[] |
Aliases: | PID, ProcessId |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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.
Tipo: | Process[] |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | 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 de Nome do
Tipo: | String[] |
Aliases: | ProcessName |
Cargo: | 0 |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
-WhatIf
Mostra o que aconteceria se o cmdlet fosse executado. O cmdlet não é executado.
Tipo: | SwitchParameter |
Aliases: | wi |
Cargo: | Named |
Valor padrão: | False |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
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
Esse cmdlet não gera nenhuma 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.