Compartir a través de


Debug-Process

Depura uno o más procesos que se ejecutan en el equipo local.

Sintaxis

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

Description

El Debug-Process cmdlet asocia un depurador a uno o varios procesos en ejecución en un equipo local. Puede especificar los procesos por su nombre de proceso o identificador de proceso (PID) o puede canalizar objetos de proceso a este cmdlet.

Este cmdlet asocia el depurador registrado para el proceso. Antes de usar este cmdlet, compruebe que un depurador está instalado y configurado.

Ejemplos

Ejemplo 1: Adjuntar un depurador a un proceso en el equipo

Debug-Process -Name Powershell

Este comando asocia un depurador al proceso de PowerShell en el equipo.

Ejemplo 2: Adjuntar un depurador a todos los procesos que comienzan con la cadena especificada

Debug-Process -Name note*

Este comando asocia un depurador a todos los procesos que tienen nombres que comienzan por note.

Ejemplo 3: Asociación de un depurador a varios procesos

Debug-Process "Winlogon", "Explorer", "Outlook"

Este comando intenta adjuntar un depurador a los procesos de Winlogon, Explorer y Outlook. Winlogon es un proceso protegido. Para depurar Winlogon, debe ejecutar el comando como administrador.

Ejemplo 4: Adjuntar un depurador a varios identificadores de proceso

Debug-Process -Id 1132, 2028

Este comando asocia un depurador a los procesos con los identificadores de proceso 1132 y 2028.

Ejemplo 5: Usar Get-Process para obtener un proceso y, a continuación, adjuntar un depurador a él

Get-Process PowerShell | Debug-Process

Este comando asocia un depurador a los procesos de PowerShell en el equipo. Usa el Get-Process cmdlet para obtener los procesos de PowerShell en el equipo y usa un operador de canalización (|) para enviar los procesos al Debug-Process cmdlet .

Para especificar un proceso determinado de PowerShell, use el parámetro ID de Get-Process.

Ejemplo 6: Asociación de un depurador a un proceso actual en el equipo local

Debug-Process -Id $PID

Este comando asocia un depurador a los procesos de PowerShell actuales en el equipo.

El comando usa la $PID variable automática, que contiene el identificador de proceso del proceso de PowerShell actual. A continuación, usa un operador de canalización (|) para enviar el identificador de Debug-Process proceso al cmdlet .

Para obtener más información sobre la $PID variable automática, consulte about_Automatic_Variables.

Ejemplo 7: Asociación de un depurador a un proceso que usa el parámetro InputObject

$P = Get-Process PowerShell
Debug-Process -InputObject $P

Este comando asocia un depurador a los procesos de PowerShell en el equipo local.

El primer comando usa el Get-Process cmdlet para obtener los procesos de PowerShell en el equipo. Guarda el objeto de proceso resultante en la variable denominada $P.

El segundo comando usa el parámetro InputObject del Debug-Process cmdlet para enviar el objeto de proceso en la $P variable .

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Id

Especifica los identificadores de proceso de los procesos que se van a depurar. El nombre del parámetro Id es opcional.

Para buscar el identificador de proceso de un proceso, escriba Get-Process.

Tipo:Int32[]
Alias:PID, ProcessId
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-InputObject

Especifica los objetos de proceso que representan los procesos que se van a depurar. Escriba una variable que contenga los objetos de proceso o un comando que obtiene los objetos de proceso, como el Get-Process cmdlet . También puede canalizar objetos de proceso a este cmdlet.

Tipo:Process[]
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Name

Especifica los nombres de los procesos que se van a depurar. Si hay más de un proceso con el mismo nombre, este cmdlet adjunta un depurador a todos los procesos con ese nombre. El parámetro Name es opcional.

Tipo:String[]
Alias:ProcessName
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

Int32

Puede canalizar un identificador de proceso a este cmdlet.

Process

Puede canalizar un objeto de proceso a este cmdlet.

String

Puede canalizar un nombre de proceso a este cmdlet.

Salidas

None

Este cmdlet no devuelve ningún resultado.

Notas

Este cmdlet usa el método AttachDebugger de la clase Win32_Process de Instrumental de administración de Windows (WMI). Para obtener más información sobre este método, vea Método AttachDebugger en MSDN Library.