Configure et démarre une trace de l'expression ou de la commande spécifiée.

Syntaxe

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>]

Description

L'applet de commande Trace-Command configure et démarre une trace de l'expression ou de la commande spécifiée. Elle fonctionne comme Set-TraceSource, sauf qu'elle s'applique uniquement à la commande spécifiée.

Paramètres

-ArgumentList <Object[]>

Spécifie les paramètres et les valeurs de paramètre pour la commande qui est tracée. L'alias d'ArgumentList est Args. Cette fonctionnalité est particulièrement utile pour déboguer des paramètres dynamiques.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Command <string>

Spécifie une commande qui est traitée pendant la trace.

Obligatoire ?

true

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Debugger

Envoie la sortie de la trace au débogueur. Vous pouvez consulter la sortie dans tout débogueur en mode noyau, en mode utilisateur ou dans Visual Studio. Ce paramètre sélectionne également l'écouteur de la trace par défaut.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Expression <scriptblock>

Spécifie l'expression qui est traitée pendant la trace. Mettez l'expression entre accolades ({}).

Obligatoire ?

true

Position ?

2

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-FilePath <string>

Envoie la sortie de la trace au fichier spécifié. Ce paramètre sélectionne également l'écouteur de la trace de fichiers.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Force

Permet à l'applet de commande d'ajouter les informations de trace dans un fichier en lecture seule. Utilisé avec le paramètre FilePath. Même en utilisant le paramètre Force, l'applet de commande ne peut pas remplacer les restrictions de sécurité.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <psobject>

Fournit l'entrée à l'expression qui est traitée pendant la trace.

Vous pouvez entrer une variable qui représente l'entrée que l'expression accepte, ou passer un objet le long du pipeline.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue)

Accepter les caractères génériques ?

false

-ListenerOption <TraceOptions>

Ajoute des données facultatives au préfixe de chaque message de trace dans la sortie. Les valeurs valides sont None, LogicalOperationStack, DateTime, Timestamp, ProcessId, ThreadId et Callstack. « None » est la valeur par défaut.

Pour spécifier plusieurs options, séparez-les avec des virgules, mais sans espaces, et mettez-les entre guillemets, par exemple « ProcessID,ThreadID ».

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Name <string[]>

Détermine quels composants Windows PowerShell sont tracés. Entrez le nom de la source de trace de chaque composant. Les caractères génériques sont autorisés. Pour rechercher les sources de trace sur votre ordinateur, tapez « Get-TraceSource ».

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Option <PSTraceSourceOptions>

Détermine le type des événements qui sont tracés.

Les valeurs valides sont les suivantes : None, Constructor, Dispose, Finalizer, Method, Property, Delegates, Events, Exception, Lock, Error, Errors, Warning, Verbose, WriteLine, Data, Scope, ExecutionFlow, Assert et All. « All » est la valeur par défaut.

Les valeurs suivantes sont des combinaisons d'autres valeurs :

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

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

-- Errors : (Error et Exception).

Pour spécifier plusieurs options, séparez-les avec des virgules, mais sans espaces, et mettez-les entre guillemets, par exemple « Constructor,Dispose ».

Obligatoire ?

false

Position ?

3

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-PSHost

Envoie la sortie de la trace à l'hôte Windows PowerShell. Ce paramètre sélectionne également l'écouteur de la trace par PSHost.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.Management.Automation.PSObject

Vous pouvez diriger des objets représentant l'entrée de l'expression vers Trace-Command.

Sorties

System.Management.Automation.PSObject

Retourne la trace de la commande dans le flux de débogage.

Remarques

Le traçage est une méthode que les développeurs utilisent pour déboguer et affiner des programmes. Lors du traçage, le programme génère des messages détaillés à propos de chaque étape de son traitement interne.

Les applets de commande de traçage Windows PowerShell sont conçues pour aider les développeurs Windows PowerShell, mais sont disponible pour tous les utilisateurs. Elles vous permettent de surveiller presque chaque aspect des fonctionnalités de l'environnement.

Pour rechercher les composants Windows PowerShell qui sont activés pour le traçage, tapez « Get-Help Get-TraceSource ».

Une « source de trace » est la partie de chaque composant Windows PowerShell qui gère le suivi et génère des messages de trace pour le composant. Pour tracer un composant, vous identifiez sa source de trace.

Un « écouteur de la trace » reçoit la sortie de la trace et l'affiche pour l'utilisateur. Vous pouvez choisir d'envoyer les données de trace à un débogueur en mode noyau ou en mode utilisateur, à l'hôte ou à la console, à un fichier ou à un écouteur personnalisé dérivé de la classe System.Diagnostics.TraceListener.

Lorsque vous utilisez le jeu de paramètres Command, Windows PowerShell traite la commande comme elle serait traité dans un pipeline. Par exemple, la découverte de commande n'est pas répétée pour chaque objet entrant.

Les noms des paramètres Name, Expression, Option et Command sont facultatives. Si vous omettez les noms des paramètres, les valeurs des paramètres sans nom doivent apparaître dans l'ordre suivant : Name, Expression, Option ou Name, Command,-Option. Si vous incluez les noms de paramètre, les paramètres peuvent apparaître dans tout ordre.

Exemple 1

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

Description
-----------
Cette commande démarre une trace du traitement des métadonnées, de la liaison des paramètres, ainsi que de la création et la destruction de l'expression « get-process notepad » par l'applet de commande. Elle utilise le paramètre Name pour spécifier les sources de trace, le paramètre Expression pour spécifier la commande et le paramètre PSHost pour envoyer la sortie à la console. Dans la mesure où elle ne spécifie aucune option de trace ou d'écouteur, la commande utilise les valeurs par défaut, « All » pour les options de trace et « None » pour les options d'écouteur.






Exemple 2

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

Description
-----------
Cette commande démarre une trace du processeur de commandes et du processeur de pipeline pendant le traitement de la commande « get-alias cd ». 

Elle utilise le paramètre Name pour spécifier les sources de trace, le paramètre Command pour spécifier la commande, le paramètre ArgumentList pour spécifier les paramètres de la commande Get-Alias, le paramètre Option pour spécifier les options de traçage et le paramètre ListenerOption pour spécifier les champs dans le préfixe du message de trace. Le paramètre FilePath envoie la sortie au fichier C:\Test\Debug.txt.






Exemple 3

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

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

Description
-----------
Ces commandes tracent les actions des opérations ParameterBinding de Windows PowerShell pendant qu'il traite une expression Get-Alias qui accepte l'entrée provenant du pipeline.

Dans Trace-Command, le paramètre InputObject passe un objet à l'expression qui est traitée pendant la trace. 

La première commande stocke la chaîne « i * » dans la variable $a. La deuxième commande utilise l'applet de commande Trace-Command avec la source de trace ParameterBinding. Le paramètre PSHost envoie la sortie à la console. 

L'expression qui est traitée est « get-alias $input », où la variable $input est associée au paramètre InputObject. Le paramètre InputObject passe le variable $a à l'expression. En fait, la commande qui est traitée pendant la trace est « get-alias –inputobject $a » ou « $a | get-alias ».






Voir aussi




Table des matières