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

Sintaxis

Trace-Command [-Command] <string> [-ArgumentList <Object[]>] [-Name] <string[]> [[-Option] {<None> | <Constructor> | <Dispose> | <Finalizer> | <Method> | <Property> | <Delegates> | <Events> | <Exception> | <Lock> | <Error> | <Errors> | <Warning> | <Verbose> | <WriteLine> | <Data> | <Scope> | <ExecutionFlow> | <Assert> | <All>}] [-Debugger] [-FilePath <string>] [-Force] [-InputObject <psobject>] [-ListenerOption {<None> | <LogicalOperationStack> | <DateTime> | <Timestamp> | <ProcessId> | <ThreadId> | <Callstack>}] [-PSHost] [<CommonParameters>]

Trace-Command [-Expression] <scriptblock> [-Name] <string[]> [[-Option] {<None> | <Constructor> | <Dispose> | <Finalizer> | <Method> | <Property> | <Delegates> | <Events> | <Exception> | <Lock> | <Error> | <Errors> | <Warning> | <Verbose> | <WriteLine> | <Data> | <Scope> | <ExecutionFlow> | <Assert> | <All>}] [-Debugger] [-FilePath <string>] [-Force] [-InputObject <psobject>] [-ListenerOption {<None> | <LogicalOperationStack> | <DateTime> | <Timestamp> | <ProcessId> | <ThreadId> | <Callstack>}] [-PSHost] [<CommonParameters>]

Descripción

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

Parámetros

-ArgumentList <Object[]>

Especifica los parámetros y sus valores del comando objeto del seguimiento. El alias de ArgumentList es Args. Esta característica resulta especialmente útil para depurar parámetros dinámicos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Command <string>

Especifica un comando que se va a procesar durante el seguimiento.

¿Requerido?

true

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Debugger

Envía el resultado del seguimiento al depurador. Puede ver el resultado en cualquier depurador en modo kernel o de usuario o en Visual Studio. Este parámetro selecciona también el agente de escucha de seguimiento predeterminado.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Expression <scriptblock>

Especifica la expresión que se va a procesar durante el seguimiento. Escriba la expresión entre llaves ({}).

¿Requerido?

true

¿Posición?

2

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-FilePath <string>

Envía el resultado del seguimiento al archivo especificado. Este parámetro seleccione también el agente de escucha de seguimiento de archivos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Force

Permite al cmdlet anexar la información de seguimiento a un archivo de solo lectura. Se utiliza con el parámetro FilePath. Incluso si se usa el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-InputObject <psobject>

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

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

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByValue)

¿Aceptar caracteres comodín?

false

-ListenerOption <TraceOptions>

Agrega datos opcionales al prefijo de cada mensaje de seguimiento en la salida. Los valores correctos son None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId y Callstack. "None" es el valor predeterminado.

Para especificar varias opciones, separe los valores mediante comas (sin espacios) y escríbalos entre paréntesis, por ejemplo "ProcessID,ThreadID".

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Name <string[]>

Determina los componentes de Windows PowerShell de los que se va a efectuar el seguimiento. Escriba el nombre del origen de seguimiento de cada componente. Se permite el uso de caracteres comodín. Para buscar los orígenes de seguimiento en el equipo, escriba "Get-TraceSource".

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Option <PSTraceSourceOptions>

Determina el tipo de eventos del que se va a realizar el seguimiento.

Los valores válidos son None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert y All. "All" es el valor predeterminado.

Los valores que se muestran a continuación son combinaciones de otros valores:

-- ExecutionFlow: (Constructor, Dispose, Finalizer, Method, Delegates, Events y Scope)

-- Data: (Constructor, Dispose, Finalizer, Property, Verbose y WriteLine)

-- Errors: (Error y Exception).

Para especificar varias opciones, separe los valores mediante comas (sin espacios) y escríbalos entre paréntesis, por ejemplo "Constructor,Dispose".

¿Requerido?

false

¿Posición?

3

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-PSHost

Envía el resultado del seguimiento al host de Windows PowerShell. Este parámetro selecciona también el agente de escucha de seguimiento de PSHost.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.Management.Automation.PSObject

Puede canalizar a Trace-Command objetos que representan entradas de la expresión.

Salidas

System.Management.Automation.PSObject

Devuelve el seguimiento de comandos en la secuencia de depuración.

Notas

El seguimiento es un método que usan los programadores para depurar y refinar sus programas. Cuando se realiza un seguimiento, el programa genera mensajes detallados sobre cada paso de su procesamiento interno.

Los cmdlets de seguimiento de Windows PowerShell se han diseñado para ayudar a los programadores de Windows PowerShell, pero están a disposición de todos los usuarios. Estos cmdlets permiten supervisar prácticamente cualquier aspecto de la funcionalidad del shell.

Para obtener los componentes de Windows PowerShell de los que se puede efectuar un seguimiento, escriba "Get-Help Get-TraceSource".

Un "origen de seguimiento" es la parte de cada componente de Windows PowerShell que realiza el seguimiento y genera mensajes de seguimiento para el componente. Para efectuar el seguimiento de un documento, debe identificarse su origen de seguimiento.

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

Cuando se usa el juego de parámetros Command, Windows PowerShell procesa el comando del mismo como que se procesaría en una canalización. Por ejemplo, la detección del comando no se repite para cada objeto entrante.

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

Ejemplo 1

C:\PS>trace-command -name metadata,parameterbinding,cmdlet -expression {get-process notepad} -pshost

Descripción
-----------
Este comando inicia el seguimiento del procesamiento de metadatos, el enlace de parámetros y la creación y destrucción de cmdlet 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 el resultado a la consola. Como no especifica opciones de seguimiento ni opciones del agente de escucha, el comando usa los valores predeterminados: "All" para las opciones de seguimiento y "None" para las opciones del agente de escucha.






Ejemplo 2

C:\PS>trace-command -name commandprocessor,pipelineprocessor -command get-alias -argumentlist "ghy" -option executionflow -listenerOption "timestamp,callstack" -filepath c:\test\debug.txt

Descripción
-----------
Este comando inicia el seguimiento del procesador de comandos y del procesador de canalización mientras procesa el comando "get-alias cd". 

Usa el parámetro Name para especificar los orígenes de seguimiento, el parámetro Command para especificar al comando, el parámetro ArgumentList para especificar los parámetros del comando Get-Alias, el parámetro Option para especificar las opciones de seguimiento y el parámetro ListenerOption para especificar los campos del prefijo del mensaje de seguimiento. El parámetro FilePath envía el resultado al archivo C:\Test\Debug.txt.






Ejemplo 3

C:\PS>$a = "i*"

C:\PS> trace-command parameterbinding {get-alias $input} -pshost -inputobject $a

Descripción
-----------
Estos comandos realizan un seguimiento de las acciones de las operaciones de ParameterBinding de Windows PowerShell mientras se procesa una expresión de 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 parámetro usa el cmdlet Trace-Command con el origen de seguimiento ParameterBinding. El parámetro PSHost envía el resultado a la consola. 

La expresión que se está procesando es "get-alias $input", donde la variable $input está asociada con el parámetro InputObject. El parámetro InputObject pasa la variable $a a la expresión. De hecho, el comando que se procesa durante el seguimiento es "get-alias -inputobject $a" o "$a | get-alias".






Vea también




Tabla de contenido