Compartir a través de


Trace-Command

Configura e inicia un seguimiento de la expresión o comando especificados.

Sintaxis

expressionSet (valor predeterminado)

Trace-Command
    [-Name] <String[]>
    [-Expression] <ScriptBlock>
    [[-Option] <PSTraceSourceOptions>]
    [-InputObject <PSObject>]
    [-ListenerOption <TraceOptions>]
    [-FilePath <String>]
    [-Force]
    [-Debugger]
    [-PSHost]
    [<CommonParameters>]

commandSet

Trace-Command
    [-Name] <String[]>
    [-Command] <String>
    [[-Option] <PSTraceSourceOptions>]
    [-InputObject <PSObject>]
    [-ArgumentList <Object[]>]
    [-ListenerOption <TraceOptions>]
    [-FilePath <String>]
    [-Force]
    [-Debugger]
    [-PSHost]
    [<CommonParameters>]

Description

El cmdlet Trace-Command configura e inicia un seguimiento de la expresión o comando especificados. Funciona como Set-TraceSource, salvo que solo se aplica al comando especificado.

Ejemplos

Ejemplo 1: Procesamiento de metadatos de seguimiento, enlace de parámetros y una expresión

PS C:\> Trace-Command -Name metadata,parameterbinding,cmdlet -Expression {Get-Process Notepad} -PSHost

Este comando inicia un seguimiento del procesamiento de metadatos, el enlace de parámetros y la creación y destrucción de cmdlets de la expresión Get-Process Notepad. Usa el parámetro Name para especificar los orígenes de seguimiento, el parámetro Expression para especificar el comando y el parámetro PSHost para enviar la salida a la consola. Dado que no especifica ninguna opción de seguimiento o opciones del agente de escucha, el comando usa el valor predeterminado:-All para las opciones de seguimiento y Ninguno para las opciones del agente de escucha.

Ejemplo 2: Seguimiento de las acciones de las operaciones ParameterBinding

PS C:\> $A = "i*"
PS C:\> Trace-Command ParameterBinding {Get-Alias $Input} -PSHost -InputObject $A

Estos comandos trazan las acciones de las operaciones ParameterBinding de Windows PowerShell mientras procesa una expresión Get-Alias que toma la entrada de la canalización.

En Trace-Command, el parámetro InputObject pasa un objeto a la expresión que se está procesando durante el seguimiento.

El primer comando almacena la cadena "i*" en la variable $A. El segundo comando usa el cmdlet Trace-Command con el origen de seguimiento ParameterBinding. El parámetro PSHost de envía la salida a la consola.

La expresión que se procesa es Get-Alias $Input, donde la variable $Input está asociada al parámetro InputObject. El parámetro InputObject pasa la variable $A a la expresión. En efecto, el comando que se está procesando durante el seguimiento es Get-Alias -InputObject $A" or "$A | Get-Alias.

Parámetros

-ArgumentList

Especifica los parámetros y los valores de parámetro para el comando que se realiza el seguimiento. El alias de argumentList es Args. Esta característica es especialmente útil para depurar parámetros dinámicos.

Propiedades de parámetro

Tipo:

Object[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:Argumentos

Conjuntos de parámetros

commandSet
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Command

Especifica un comando que se está procesando durante el seguimiento.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

commandSet
Posición:1
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Debugger

Indica que el cmdlet envía la salida de seguimiento al depurador. Puede ver la salida en cualquier depurador en modo de usuario o en modo kernel o en Visual Studio. Este parámetro también selecciona el agente de escucha de seguimiento predeterminado.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Expression

Especifica la expresión que se está procesando durante el seguimiento. Encierre la expresión entre llaves ({}).

Propiedades de parámetro

Tipo:ScriptBlock
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

expressionSet
Posición:1
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-FilePath

Especifica un archivo al que el cmdlet envía la salida de seguimiento. Este parámetro también selecciona el agente de escucha de seguimiento de archivos.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:PSPath

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Force

Obliga a que el comando se ejecute sin pedir confirmación del usuario. Se usa con el parámetro FilePath. Incluso con el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

Especifica la entrada a la expresión que se está procesando durante el seguimiento.

Puede escribir una variable que represente la entrada que acepta la expresión o pasar un objeto a través de la canalización.

Propiedades de parámetro

Tipo:PSObject
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-ListenerOption

Especifica los datos opcionales para el prefijo de cada mensaje de seguimiento en la salida. Los valores aceptables para este parámetro son:

  • Ninguno
  • LogicalOperationStack
  • Fecha y hora
  • Marca de tiempo
  • ProcessId
  • ThreadId
  • Pila de llamadas

Ninguno es el valor predeterminado.

Para especificar varias opciones, separe con comas, pero sin espacios, y encierrelas entre comillas, como "ProcessID,ThreadID".

Propiedades de parámetro

Tipo:TraceOptions
Valor predeterminado:None
Valores aceptados:None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId, Callstack
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Name

Especifica una matriz de componentes de Windows PowerShell a los que se realiza un seguimiento. Escriba el nombre del origen de seguimiento de cada componente. Se permiten los caracteres comodín. Para buscar los orígenes de seguimiento en el equipo, escriba Get-TraceSource.

Propiedades de parámetro

Tipo:

String[]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:0
Obligatorio:True
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-Option

Especifica el tipo de eventos de seguimiento. Los valores aceptables para este parámetro son:

  • Ninguno
  • Constructor
  • Desechar
  • Finalizador
  • Método
  • Propiedad
  • Delegates
  • Eventos
  • Excepción
  • Cerradura
  • Error
  • Errores
  • Advertencia
  • Verbose
  • WriteLine
  • Datos
  • Ámbito
  • ExecutionFlow (Flujo de ejecución)
  • Afirmar
  • Todos

All es el valor predeterminado.

Los valores siguientes son combinaciones de otros valores:

  • ExecutionFlow: (Constructor, Dispose, Finalizador, Método, Delegados, Eventos y Ámbito)
  • Datos: (Constructor, Dispose, Finalizador, Propiedad, Detallado y WriteLine)
  • Errores: (Error y excepción).

Para especificar varias opciones, separe con comas, pero sin espacios y encierrelas entre comillas, como "Constructor,Dispose".

Propiedades de parámetro

Tipo:PSTraceSourceOptions
Valor predeterminado:None
Valores aceptados:None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert, All
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:2
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-PSHost

Indica que el cmdlet envía la salida de seguimiento al host de Windows PowerShell. Este parámetro también selecciona el agente de escucha de seguimiento de PSHost.

Propiedades de parámetro

Tipo:SwitchParameter
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

PSObject

Puede canalizar objetos que representan la entrada a la expresión para trace-Command.

Salidas

PSObject

Devuelve el seguimiento del comando en el flujo de depuración.

Notas

  • El seguimiento es un método que los desarrolladores usan para depurar y refinar programas. Al realizar el seguimiento, el programa genera mensajes detallados sobre cada paso en su procesamiento interno.

  • Los cmdlets de seguimiento de Windows PowerShell están diseñados para ayudar a los desarrolladores de Windows PowerShell, pero están disponibles para todos los usuarios. Permiten supervisar casi todos los aspectos de la funcionalidad del shell.

  • Para buscar los componentes de Windows PowerShell que están habilitados para el seguimiento, escriba Get-Help Get-TraceSource.

    Un origen de seguimiento es la parte de cada componente de Windows PowerShell que administra el seguimiento y genera mensajes de seguimiento para el componente. Para realizar un seguimiento de un componente, identifique su origen de seguimiento.

    Un agente de escucha de seguimiento recibe la salida del seguimiento y lo muestra al usuario. Puede optar por enviar los datos de seguimiento a un depurador en modo de usuario o en modo kernel, al host o la consola, a un archivo o a un agente de escucha personalizado derivado de la clase System.Diagnostics.TraceListener.

  • Cuando se usa el conjunto de parámetros commandSet, Windows PowerShell procesa el comando igual que se procesaría en una canalización. Por ejemplo, la detección de comandos no se repite para cada objeto entrante.

  • Los nombres de los parámetros Name, Expression, Optiony Command son opcionales. Si omite los nombres de parámetro, los valores de parámetro sin nombre deben aparecer en este orden: Name, Expression, Option o Name, Command, Option. Si incluye los nombres de parámetro, los parámetros pueden aparecer en cualquier orden.