Syntaxe de la commande Tracelog
Tracelog a des commandes (ou actions) qui démarrent, arrêtent et contrôlent une session de trace.
Remarque
Pour contrôler une session de trace, vous devez être membre du groupe Utilisateurs du journal des performances ou du groupe Administrateurs sur l’ordinateur (Exécuter en tant qu’administrateur).
tracelog [actions] [options] | [-h | -help | -?]
Paramètres
Pour plus d’informations sur les paramètres Tracelog, consultez [actions] [options].
[actions]
-addautologger [LoggerName]
Configure les entrées de Registre pour une session d’autologger. Une session de journalisation automatique est la méthode préférée pour le suivi de l’activité d’un pilote ou d’un autre fournisseur de trace pendant le démarrage du système. Vous devez spécifier le GUID de session à l’aide de l’option -sessionguid . La commande tracelog -addautologger prend les mêmes options que la commande Tracelog -start .
-capturestate [LoggerName]
Demande à tous les fournisseurs activés pour LoggerName de consigner les informations d’état. Les mots clés activés permettent de déterminer le type d’informations journalisées.
-disable [LoggerName]
Désactive les fournisseurs de trace spécifiés. Lorsqu’un fournisseur est désactivé, il continue à s’exécuter, mais il cesse de générer des messages de trace.
La commande tracelog -stop désactive les fournisseurs de trace avant d’arrêter la session. Vous n’avez pas besoin de désactiver les fournisseurs avant d’arrêter une session de trace. Toutefois, vous pouvez utiliser la commande tracelog -disable pour désactiver les fournisseurs sélectionnés sans arrêter une session de trace.
La désactivation empêche le fournisseur de trace d’envoyer des messages de trace aux mémoires tampons de session de trace, mais elle ne vide pas les mémoires tampons ou arrête la session de trace. Utilisez une commande tracelog -flush pour vider les mémoires tampons et une commande tracelog -stop ou tracelog -x (arrêter tout) pour arrêter la session de trace.
Tracelog utilise la fonction EnableTrace pour implémenter une commande tracelog -disable . Pour plus d’informations sur cette fonction, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
-enable [LoggerName]
Active un ou plusieurs fournisseurs de trace pour la session de trace LoggerName .
Lorsque vous activez un fournisseur, le fournisseur génère des messages de suivi et les envoie aux mémoires tampons d’une session de trace. Si le fournisseur n’est pas en cours d’exécution (ou n’est pas chargé) lorsque vous l’activez, le système préinscrit le fournisseur, autrement dit, il réserve de l’espace pour le fournisseur dans la base de données d’inscription ETW et enregistre la commande Enable. Lorsque le fournisseur démarre et s’inscrit réellement, il reçoit la commande d’activation enregistrée et commence à envoyer des messages de trace à la session.
La commande tracelog -start active tous les fournisseurs spécifiés par le paramètre facultatif -guid dans la commande tracelog -start . Vous n’avez pas besoin d’envoyer une commande tracelog -enable distincte.
Vous pouvez utiliser une commande tracelog -enable pour ajouter un fournisseur à une session de trace en cours d’exécution, pour modifier les indicateurs et le niveau d’un fournisseur pendant qu’il est suivi, ou pour réactiver un fournisseur que vous avez désactivé à l’aide d’une commande tracelog -disable .
Lors de l’utilisation de la commande tracelog -enable , commencez par envoyer une commande tracelog -start pour démarrer la session de trace, puis envoyez la commande tracelog -enable pour activer les fournisseurs.
Vous pouvez activer un fournisseur en cours d’exécution à plusieurs reprises sans le désactiver. (Vous pouvez le faire pour modifier les indicateurs et les niveaux.)
Les indicateurs de trace et le niveau de trace que vous spécifiez avec les paramètres -flag et -level sont transmis à tous les fournisseurs de trace représentés par le paramètre -guid . Pour spécifier différents indicateurs et niveaux pour chaque fournisseur de trace, envoyez une commande tracelog -enable distincte pour chaque fournisseur, avec ses propres paramètres d’indicateur et de niveau.
Si vous activez l’un des indicateurs de l’enregistreur d’événements du noyau NT (par exemple, -noprocess, -nothread, -fio ou -cm) pendant qu’une session de trace Global Logger est en cours d’exécution, la session Global Logger est convertie en session de trace NT Kernel Logger. Cette fonctionnalité est conçue pour tracer les événements du noyau pendant le processus de démarrage.
-enableex [LoggerName]
Identique à -enable. Cette option peut être supprimée dans les futures versions de Tracelog.
-enumguid
Énumère les fournisseurs (ou listes) sur le système qui sont inscrits auprès du suivi d’événements pour Windows (ETW). Pour obtenir une description de l’affichage Enumguid, consultez Tracelog Enumguid Display.
Tracelog utilise la fonction EnumerateTraceGuids pour implémenter une commande tracelog -enumguid . Pour plus d’informations sur cette fonction, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
-enumguidex [#guid]
Énumère les fournisseurs (ou listes) sur le système qui sont inscrits auprès du suivi d’événements pour Windows (ETW). Pour obtenir une description de l’affichage EnumguidEx, consultez Tracelog Enumguid Display.
Tracelog utilise la fonction EnumerateTraceGuidsEx pour implémenter une commande tracelog -enumguidex . Pour plus d’informations sur cette fonction, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
-flush [LoggerName]
Vide les mémoires tampons actives de la session de trace LoggerName . Si LoggerName n’est pas spécifié, Tracelog vide les mémoires tampons de la session de trace de l’enregistreur d’événements du noyau NT.
Ce vidage forcé est en plus des vidages qui se produisent automatiquement chaque fois qu’une mémoire tampon de message de trace est pleine et lorsque la session de trace s’arrête, et en plus des vidages activés par le minuteur de vidage (-ft).
Lorsque vous videz les mémoires tampons d’une session de trace, les événements dans les mémoires tampons sont remis immédiatement au journal de trace ou au consommateur de trace.
Le vidage ne désactive pas le fournisseur de trace ni redirige les messages de trace. Une fois les mémoires tampons vidées, le fournisseur de trace continue d’écrire des événements dans les mémoires tampons.
Tracelog utilise la fonction FlushTrace pour implémenter une commande tracelog -flush . Pour plus d’informations sur cette fonction, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
Vous pouvez utiliser la commande tracelog -flush avec l’option -f Logfile pour vider les messages de trace actuellement dans la mémoire tampon dans le fichier journal de trace (.etl) spécifié. Ce paramètre est valide uniquement pour les sessions de trace mises en mémoire tampon (-buffering) ; pour d’autres types de session de trace, le paramètre -f est ignoré.
Ce vidage affecte uniquement le contenu actuel de la mémoire tampon. Il ne redirige pas les messages de trace futurs vers le journal de suivi.
-l [-lp]
Répertorie les propriétés de toutes les sessions de suivi s’exécutant sur l’ordinateur.
Si vous passez l’option -lp , Tracelog répertorie également tous les fournisseurs activés pour chaque session.
-q [LoggerName] [-lp]
Répertorie (requêtes) les propriétés de la session de trace spécifiée. Si vous ne spécifiez pas LoggerName, Tracelog interroge la session de trace de l’enregistreur d’événements du noyau NT.
Si vous passez l’option -lp , Tracelog répertorie également tous les fournisseurs activés pour la session.
-remove GlobalLogger
Supprime et réinitialise les valeurs de Registre d’une session de trace Global Logger. Elle définit la valeur de l’entrée De début sur 0 (ne pas démarrer) et supprime les autres entrées de Registre. La commande tracelog -remove fonctionne uniquement pour les sessions de trace Global Logger. Toutes les autres valeurs de nom de session ne sont pas valides.
La commande tracelog -remove n’est pas obligatoire. Toutefois, si vous ne définissez pas la valeur de l’entrée de démarrage sur 0, une session Global Logger démarre chaque fois que vous redémarrez le système.
Si vous n’utilisez pas de commande tracelog -remove , les options de la session précédente se trouvent toujours dans le Registre et elles seront utilisées pour la nouvelle session, sauf si vous envoyez une commande tracelog -start avec des valeurs différentes pour les mêmes options.
-start [LoggerName]
Démarre une session de trace à l’aide de LoggerName que vous sélectionnez pour représenter la session de trace.
Utilisez GlobalLogger comme loggerName pour spécifier une session de trace d’enregistreur d’événements global. La session démarre lorsque vous redémarrez l’ordinateur.
LoggerName peut être n’importe quel nom qui répond aux instructions d’affectation de noms Windows, jusqu’à 1 024 caractères. Si le nom inclut des espaces, placez le nom entre guillemets. Tracelog n’est pas sensible à la casse.
La valeur par défaut est « NT Kernel Logger ». Si vous omettez ce paramètre, Tracelog démarre une session de trace NT Kernel Logger et déclare une erreur si vous utilisez le paramètre -guid pour spécifier un autre fournisseur de trace.
-stop [LoggerName]
Désactive les fournisseurs dans la session de trace spécifiée, puis met fin à la session.
La commande tracelog -stop désactive les fournisseurs de trace et arrête la session de trace. Une commande tracelog -disable désactive uniquement les fournisseurs de trace.
Si vous démarrez une session d’enregistreur d’événements global de démarrage qui trace les événements du noyau, vous devez utiliser le journal des traces de commande -stop " NT Kernel Logger " ou tracelog -stop GlobalLogger pour l’arrêter. Lorsque vous utilisez l’une des commandes pour arrêter une session de trace de session de trace Global Logger, Tracelog arrête le fournisseur, mais il ne réinitialise pas les valeurs des entrées du Registre. Pour réinitialiser les valeurs des entrées de Registre Global Logger, utilisez tracelog -remove.
-systemrundown [LoggerName]
Demande au SystemTraceProvider de journaliser les événements d’exécution dirigés vers la session LoggerName . Pour plus d’informations sur le démarrage d’une session de trace, consultez Configuration et démarrage d’une session SystemTraceProvider .
Cette commande est disponible uniquement sur Windows 8 et les versions ultérieures de Windows.
-Timeout valeur
Spécifie la valeur de délai d’expiration, en millisecondes (ms), à utiliser lors de l’activation des fournisseurs avec la commande tracelog -enable . Le délai d’expiration par défaut est 0.
Si la valeur du délai d’expiration est 0, tracelog appelle immédiatement le rappel d’activation de chaque fournisseur et retourne immédiatement, sans attendre la fin du rappel.
Pour activer les fournisseurs de façon synchrone, spécifiez une valeur de délai d’expiration. Si vous spécifiez une valeur de délai d’expiration, Tracelog attend que chaque fournisseur active les sorties de rappel ou que le délai d’expiration expire.
Lors de l’activation de plusieurs fournisseurs à la fois, le délai d’expiration est appliqué à chacun d’eux de manière séquentielle.
-update [LoggerName]
La commande tracelog -update modifie les propriétés d’une session de trace pendant son exécution.
Dans une commande tracelog -update , le paramètre -guid est valide uniquement lors de la mise à jour d’une session de trace privée (-um). Pour ajouter ou supprimer des fournisseurs d’une session de trace standard pendant l’exécution de la session, utilisez les commandes tracelog -enable et tracelog -disable .
Si vous démarrez une session de journal de suivi (-f), vous pouvez effectuer une mise à jour vers une session en temps réel (-rt), mais les messages continuent d’être envoyés au journal de suivi en plus du consommateur de trace. Vous ne pouvez pas éliminer le journal de la session en mettant à jour. Toutefois, avant de pouvoir ajouter la remise de messages en temps réel à une session de journal de suivi, vous devez d’abord utiliser la commande tracelog -flush pour vider les mémoires tampons.
Si vous démarrez une session en temps réel (-rt), puis que vous effectuez une mise à jour vers une session de journal de suivi (-f), les nouveaux messages de trace ne sont plus envoyés directement au consommateur de trace ; ils sont envoyés uniquement au journal de suivi. Pour ajouter un journal de suivi à une session de trace en temps réel, utilisez à la fois -rt et -f dans la commande tracelog -update . Avant de pouvoir ajouter une remise de messages en temps réel à une session de journal de suivi, vous devez d’abord utiliser la commande tracelog -flush pour vider les mémoires tampons.
Vous ne pouvez pas mettre à jour une session de trace Global Logger.
Pour une session de trace privée (mode utilisateur), vous pouvez mettre à jour uniquement le nom du fichier journal (-f) et la valeur du minuteur de vidage (-ft).
Pour mettre à jour les indicateurs et les niveaux, utilisez la commande tracelog -enable pour réactiver le fournisseur avec de nouveaux indicateurs ou niveaux.
Tracelog utilise la fonction ControlTrace pour implémenter une commande tracelog -update . Pour plus d’informations sur cette fonction, consultez la documentation du Kit de développement logiciel (SDK) Microsoft Windows.
[options]
-addtotriagedump
Remarque
Cette option ne doit pas être utilisée, sauf si vous devrez peut-être afficher des événements à partir d’un vidage du noyau à l’aide du débogueur.
Spécifie que toutes les mémoires tampons actives pour la session sont disponibles pour être ajoutées à un vidage de mémoire de triage. Les vidages de triage sont limités en taille et, si les mémoires tampons de la session entraînent le dépassement de sa taille maximale, les mémoires tampons sont laissées hors mémoire tampon.
-ajouter
Ajoute les messages de suivi au fichier journal de suivi des événements (.etl) spécifié par le paramètre -f . La valeur par défaut consiste à créer un fichier.
Ce paramètre est valide uniquement dans les commandes qui incluent -f et n’incluent pas -rt ou -cir.
-b BufferSize
Spécifie la taille, en Ko, de chaque mémoire tampon allouée pour la session de trace. La valeur par défaut est déterminée par le nombre de processeurs, la quantité de mémoire physique et le système d’exploitation en cours d’utilisation.
-bt n
Spécifie le nombre (n) de mémoires tampons à remplir avant de commencer à les vider. Cette option est disponible à partir de Windows 8.1.
-Tampon
Démarre une session de trace mise en mémoire tampon.
Dans une session de trace mise en mémoire tampon, les messages de trace sont conservés dans les mémoires tampons de trace. Ils ne sont pas envoyés à un consommateur de trace ou enregistrés dans un journal de suivi.
-Cir MaxFileSize
Spécifie la journalisation circulaire (à la fin du fichier, enregistrez les nouveaux messages sur les messages les plus anciens) dans le fichier journal de suivi des événements (.etl). MaxFileSize spécifie la taille maximale du fichier en Mo. Sans valeur MaxFileSize, ce paramètre est ignoré.
La valeur par défaut est la journalisation séquentielle sans limite de taille de fichier.
-Cm
Active le suivi de l’accès au Registre (Configuration Manager). Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-critsec
Trace les événements de section critique d’un processus dans une session de trace privée. Vous pouvez démarrer un enregistreur d’événements de processus de section critique sur n’importe quel processus en mode utilisateur, même un processus qui n’est pas instrumenté pour le suivi.
Utilisez -pids pour spécifier le processus. N’utilisez pas -guid avec -critsec. Le système définit un GUID personnalisé (CritSecGuid) pour les traces de section critique. Vous ne pouvez pas utiliser -heap et -critsec dans la même commande.
-dpcisr
Permet le suivi des appels de procédure différée (DPC), des demandes de service d’interruption (ISR), des événements de chargement d’images (-img) et des commutateurs de contexte dans le noyau. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
Cette option est prise en charge uniquement dans la version de Tracelog incluse dans le Kit de pilotes Windows pour Windows Vista et les versions ultérieures de WDK. L’option –dpcisr ne peut pas être utilisée avec l’option -eflag .
Utilisez le paramètre -UsePerfCounter avec -dpcisr. Ce paramètre, qui fournit un horodatage unique pour chaque événement, est requis par Tracerpt, un outil utilisé pour mettre en forme et interpréter les événements DPC/ISR. Pour plus d’informations sur l’interprétation et la mise en forme de ces événements, consultez « Commentaires », ci-dessous.
-eflag n [flag...]
Active les événements de noyau à l’aide d’indicateurs supplémentaires pour les sessions de trace de l’enregistreur d’événements du noyau NT, notamment les indicateurs permettant le suivi des événements DPC, ISR et de commutateur de contexte. L’option -eflag ne peut pas être utilisée avec l’option –dpcisr .
-enableproperty n
Consultez la description de EnabledProperties dans le struct EnableParameters passé en tant que paramètre à EnableTraceEx2 pour obtenir des descriptions et des valeurs prises en charge.
-EventIdFilter {-in-out|} **** n **** id1 id2 ...
Spécifie un filtre d’ID d’événement avec n ID d’événement (64 ID d’événement maximum autorisés). Cette option est disponible à partir de Windows 8.1.
-ExeFilter Executable_file [ ; Executable_file ...]
Spécifie les noms des fichiers exécutables à filtrer. Vous pouvez spécifier une liste de fichiers. Séparez les noms des fichiers à l’aide de points-virgules. Les fichiers non répertoriés sont exclus. Cette option est disponible à partir de Windows 8.1.
-f [LogFile]
Démarre une session de journal de suivi. LogFile spécifie le chemin d’accès (facultatif) et le nom de fichier du fichier journal de trace d’événements (.etl). La valeur par défaut est C :\LogFile.etl. Pour placer le fichier sur un ordinateur distant, incluez le nom de l’ordinateur ou l’adresse IP dans le chemin d’accès.
Si vous utilisez -rt avec -f, les messages de trace sont envoyés au consommateur et à un fichier journal de suivi des événements. Vous ne pouvez pas utiliser -rt ou -f avec -buffering.
-Fio
Active le suivi des événements d’E/S de fichier. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-drapeau Drapeau
Remarque
Les indicateurs ont été remplacés par des mots clés. Utilisez -matchanykw , sauf si vous activez un fournisseur WPP.
Spécifie les indicateurs de trace pour les fournisseurs dans la session de trace. La valeur de l’indicateur détermine les événements générés par le fournisseur de trace.
L’indicateur représente une valeur d’indicateur définie dans le fournisseur de trace, au format décimal ou hexadécimal. La valeur par défaut est 0. Les valeurs de 0x01000000 à 0xFF000000 sont réservées à une utilisation ultérieure.
La signification de la valeur de l’indicateur est définie indépendamment par chaque fournisseur de trace. En règle générale, les indicateurs représentent des niveaux de création de rapports de plus en plus détaillés.
La valeur d’indicateur spécifiée dans une commande tracelog -start s’applique à tous les fournisseurs de trace dans la session de trace. Pour définir différents indicateurs pour chaque fournisseur de trace, utilisez tracelog -enable.
-Ft FlushTime
Spécifie la fréquence à laquelle, en secondes, les mémoires tampons de message de trace sont vidées. La durée minimale de vidage est de 1 seconde. La valeur par défaut est 0 (pas de vidage forcé).
Ce vidage forcé est en plus des vidages qui se produisent automatiquement chaque fois qu’une mémoire tampon de message de trace est pleine et lorsqu’une session de trace s’arrête.
Consultez la commande tracelog -flush.
-guid {#GUID | fichier | *name}
Active les fournisseurs de trace spécifiés.
Si un fichier est spécifié, Tracelog active le suivi pour tous les fournisseurs spécifiés dans le fichier. Le fichier doit être mis en forme comme suit :
; comment line
guid1;matchanykeyword;level
guid2;matchanykeyword;level
Si un GUID de fournisseur est spécifié, le GUID doit être précédé d’un signe numérique (#).
Si un nom de fournisseur est spécifié, le nom doit être précédé d’un astérisque (*). Le nom sera ensuite converti en GUID à l’aide du même algorithme que . Source d’événement de NET. Ce GUID sera ensuite utilisé pour activer le fournisseur.
Si vous omettez ce paramètre, aucun fournisseur de trace n’envoie de messages à la session de suivi. Toutefois, après avoir démarré la session de trace, vous pouvez utiliser une commande tracelog -enable pour activer un ou plusieurs fournisseurs de trace pour la session.
-Gs
Génère un numéro de séquence global pour chaque message de trace.
Les numéros de séquence globaux sont uniques pour toutes les sessions de suivi sur l’ordinateur. Par défaut, aucun numéro de séquence n’est présent.
Ce paramètre n’est pas valide avec la session de trace de l’enregistreur d’événements du noyau NT.
-tas
Trace les événements de mémoire du tas pour un processus en mode utilisateur. Vous pouvez démarrer un enregistreur d’événements de processus de tas sur n’importe quel processus en mode utilisateur, même celui qui n’est pas instrumenté pour le suivi.
Utilisez -pids pour spécifier le processus. N’utilisez pas -guid avec -heap. Le système définit un GUID personnalisé (HeapGuid) pour les traces de mémoire du tas. Vous ne pouvez pas utiliser -heap et -critsec dans la même commande.
-Hf
Active le suivi des erreurs de page dur (erreurs de page nécessitant l’accès au disque à résoudre). Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-hybridshutdown {stop|persist}
Contrôle le comportement de l’enregistreur d’événements d’arrêt hybride. Cette option est disponible à partir de Windows 8.
l’arrêt entraîne l’arrêt de la session lorsque le système effectue un arrêt hybride. persist entraîne la poursuite de la session une fois que le système redémarre à partir d’un arrêt hybride.
-img
Active le suivi des événements de chargement d’images. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-indépendant
Remarque
Le mode indépendant doit être activé sur chaque session de trace.
Active le mode indépendant sur la session de trace. Le mode indépendant permet à la session de collecter des événements que d’autres sessions en mode non indépendant ont supprimés. Cette option est disponible à partir de Windows 8.1.
-Ko
Utilisez kilo-octets (Ko) pour la taille du fichier journal. La valeur par défaut est mégaoctets (Mo).
-Kd
Redirige les messages de trace vers KD ou Windbg, selon ce qui est attaché. Ce paramètre définit également la taille de la mémoire tampon de trace sur 3 Ko, la taille maximale de la mémoire tampon pour le débogueur et ignore tous les paramètres -b dans la commande.
Le débogueur doit être en cours d’exécution lorsque vous envoyez une commande Tracelog avec -kd. Sinon, Tracelog cesse de répondre.
Pour plus d’informations sur l’affichage des messages de trace dans un débogueur de noyau, consultez Commentaires.
-Lbr *EventName[**+EventName+...] :Filter[,*Filter,...]
Configurez le suivi LBR sur les événements de noyau.
Utilisez l’aide de -eflag pour obtenir la liste des événements de noyau.
-niveau n
Spécifie le niveau de trace pour les fournisseurs dans la session de trace. Le niveau détermine les événements générés par le fournisseur de trace.
Le niveau représente une valeur de niveau au format décimal ou hexadécimal. La valeur par défaut est 0.
La signification de la valeur de niveau est définie indépendamment par chaque fournisseur de trace. En règle générale, le niveau de trace représente la gravité de l’événement (informations, avertissement ou erreur).
La valeur de niveau spécifiée dans une commande tracelog -start s’applique à tous les fournisseurs de trace dans la session de trace. Pour définir différents niveaux pour chaque fournisseur de trace, utilisez tracelog -enable.
-faible capacité
Remarque
Cette option ne doit pas être utilisée, sauf si nécessaire pour réduire les coûts de mémoire. L’utilisation de cette option rend chaque événement plus lent à journaliser.
Utilise une mémoire tampon unique à la fois pour collecter les événements générés sur plusieurs processeurs. Cette option sélectionne le mode de journalisation EVENT_TRACE_NO_PER_PROCESSOR_BUFFERING. Pour plus d’informations, consultez le Kit de développement logiciel (SDK) Windows.
-Ls
Génère un numéro de séquence local pour chaque message de trace.
Les numéros de séquence locaux sont uniques dans une session de trace. Par défaut, aucun numéro de séquence n’est présent.
Ce paramètre n’est pas valide avec la session de trace de l’enregistreur d’événements du noyau NT.
-max NumberOfBuffers
Spécifie le nombre maximal de mémoires tampons allouées par Tracelog pour la session de trace. La valeur par défaut est déterminée par le nombre de processeurs, la quantité de mémoire physique et le système d’exploitation en cours d’utilisation.
-matchallkw n
Spécifie le masque de bits MatchAllKeyWord qui limite la catégorie d’événements que le fournisseur écrit et est utilisé conjointement avec l’option -matchanykw .
Ce masque de bits est facultatif. Si le mot clé de l’événement répond à la condition spécifiée dans l’option -matchanykw , le fournisseur écrit l’événement uniquement si tous les bits de ce masque existent dans le mot clé de l’événement. Ce masque n’est pas utilisé si -matchanykw est égal à zéro.
Tracelog transmet la valeur n dans le paramètre MatchAllKeyWord de l’appel de fonction EnableTraceEx2 . Pour plus d’informations, consultez le Kit de développement logiciel (SDK) Windows.
-matchanykw n
Spécifie le masque de bits MatchAnyKeyword qui détermine la catégorie des événements écrits par le fournisseur.
Le fournisseur écrit l’événement si l’un des bits de mot clé de l’événement correspond à l’un des bits définis dans ce masque. Tracelog transmet la valeur n dans le paramètre MatchAnyKeyWord de l’appel de fonction EnableTraceEx2 . Pour plus d’informations, consultez le Kit de développement logiciel (SDK) Windows.
-Min NumberOfBuffers
Spécifie le nombre de mémoires tampons initialement allouées pour le stockage des messages de trace. Lorsque les mémoires tampons sont complètes, Tracelog alloue davantage de mémoires tampons jusqu’à ce qu’elle atteigne le maximum. La valeur par défaut est déterminée par le nombre de processeurs, la quantité de mémoire physique et le système d’exploitation en cours d’utilisation.
-newfile MaxFileSize
Crée un fichier journal de suivi des événements (.etl) chaque fois que le fichier existant atteint MaxFileSize. MaxFileSize spécifie la taille maximale de chaque fichier journal en Mo. Sans valeur MaxFileSize, ce paramètre est ignoré.
Lorsque vous utilisez -newfile, vous devez également utiliser le paramètre -f LogFile et la valeur de LogFile doit être un nom qui inclut les caractères %d pour indiquer un modèle décimal, par exemple trace%d.etl. Sinon, la commande échoue avec ERROR_INVALID_NAME. Windows incrémente la valeur décimale dans le nom de fichier chaque fois qu’il crée un fichier.
Ce paramètre n’est pas valide avec la préallocation (-prealloc), la journalisation circulaire (-cir), la session NT Kernel Logger ou les sessions de trace privée.
-nodisk
Désactive le suivi des événements d’E/S de disque physique. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-Nonet
Désactive le suivi des événements TCP/IP et UDP (User Datagram Protocol). Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-noprocess
Désactive le suivi du début et de la fin de chaque processus. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-nothread
Désactive le suivi du début et de la fin de chaque thread. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-Bipé
Utilise la mémoire paginable pour les mémoires tampons de message de trace. Par défaut, le suivi d’événements utilise la mémoire non modifiable pour les mémoires tampons.
Les fournisseurs qui nécessitent une mémoire non paginable ne pourront pas journaliser les événements dans une session qui utilise la mémoire paginable.
-pids #PIDs PID [PID...]
Spécifie les processus en mode utilisateur dans lesquels une session de trace de mémoire de tas ou de section critique s’exécute. Valide uniquement avec -heap ou -critsec.
#PIDs spécifie le nombre d’ID de processus répertoriés avec ce paramètre. PID représente un identificateur de processus. Vous pouvez spécifier jusqu’à dix PID avec ce paramètre.
Répertoriez plusieurs PID lorsque le fournisseur s’exécute dans plusieurs processus, par exemple lorsqu’un programme unique crée plusieurs processus.
-PidFilter n pid1 pid2 ...
Spécifie un filtre Pid avec n Pids (8 maximum autorisé). Cette option est disponible à partir de Windows 8.1.
-Pf
Active le suivi de toutes les erreurs de page. Ce paramètre est valide uniquement pour une session de trace de l’enregistreur d’événements du noyau NT.
-PkgIdFilter Nom complet du package [ ** ;**Nom complet du package...]
Spécifie un filtre d’ID de package. Vous pouvez spécifier une liste de fichiers de package. Séparez les noms des fichiers à l’aide de points-virgules.
-PkgAppIdFilter PRAID [** ;**PRAID...]
Spécifie un filtre PRAID (Package-Relative App Identifier). Le PRAID est l’identificateur unique de l’application dans le package. Vous pouvez spécifier plusieurs PRAID. Séparez les ID à l’aide de points-virgules. Cette option est disponible pour les applications UWP à partir de Windows 8.1.
-Pmc Ctr1,Ctr2,... :Name+Name+...
Configure l’échantillonnage du compteur de moniteur de performances (PMC) sur les événements de noyau spécifiés. Cette option est disponible à partir de Windows 8.
Utilisez l’aide de -ProfileSource pour une liste de compteurs. Utilisez l’aide de -eflag pour obtenir la liste des événements de noyau.
-prealloc
Réserve de l’espace pour le fichier .etl avant de démarrer la session.
Ce paramètre nécessite -seq ou -cir avec MaxFileSize. Il n’est pas valide avec -newfile.
-ProfileSource src
Configurez la source de profilage à utiliser. Pour obtenir la liste des sources, utilisez l’aide de tracelog de commande -ProfileSource. Cette option est disponible à partir de Windows 8.
Cette option est disponible uniquement sur Windows 8 et les versions ultérieures de Windows.
-Rt
Démarre une session de suivi en temps réel. (Une session de journal de suivi (-f) est la valeur par défaut.)
Si vous utilisez -rt et -f, les messages de trace sont envoyés au consommateur de trace et à un fichier journal de suivi des événements. Vous ne pouvez pas utiliser -rt ou -f avec -buffering. Pour plus d’informations, consultez Session de trace.
-sûr
Active le suivi en mode sécurisé. Cette option sélectionne le mode de journalisation EVENT_TRACE_SECURE_MODE. Limite les personnes autorisées à journaliser les événements de la session avec l’autorisation TRACELOG_LOG_EVENT.
-sessionguid
Spécifie la valeur de Registre GUID de session de l’autologger.
-SetProfInt n **** src
Important
La modification de l’intervalle de profilage n’est pas recommandée.
Configurez l’intervalle de profilage (n) pour la source spécifiée, où n se trouve en unités de 100ns. La valeur par défaut est 1 0000 (qui équivaut à 1 ms). Cette option est disponible à partir de Windows 8.
-Suiv MaxFileSize
Spécifie la journalisation séquentielle (à la fin du fichier, arrêter l’enregistrement des événements) dans le fichier journal de suivi des événements (.etl). MaxFileSize spécifie la taille maximale du fichier en Mo. Sans valeur MaxFileSize, ce paramètre est ignoré.
La journalisation séquentielle est la valeur par défaut, mais vous pouvez utiliser ce paramètre pour définir la taille maximale du fichier ou utiliser -prealloc. Sans ce paramètre, il n’existe aucune limite de taille de fichier.
-sourceguid SourceGuid
Spécifie le GUID passé en tant que paramètre SourceId aux fonctions EnableTraceEx ou EnableTraceEx2 . SourceId identifie la session qui a activé le fournisseur.
-stackwalk [Événements]
Spécifie les événements de noyau sur utilisant lequel collecter des piles. Utilisez l’aide de -eflag pour obtenir la liste des événements de noyau. Ce paramètre est valide uniquement pour les sessions de suivi de l’enregistreur d’événements du noyau NT ou de l’enregistreur d’événements système.
-StackWalkFilter {-in-out|}nid1 id2 ...
Spécifie un filtre d’ID d’événement avec n ID d’événement (64 ID d’événement maximum autorisés). Cette option est disponible à partir de Windows 8.1.
-systemlogger
L’enregistreur d’événements peut recevoir des événements SystemTraceProvider. Consultez Configuration et démarrage d’une session SystemTraceProvider. Cette option est disponible à partir de Windows 8.
-um
Spécifie une session de trace privée Ce paramètre est requis pour une session de trace privée.
-UseCPUCycle
Utilise la fréquence du processeur (également appelée « cycles du processeur ») pour mesurer le temps de chaque message de trace.
Ce minuteur fournit la résolution la plus élevée possible, mais il est si sensible qu’il est susceptible d’erreur, en particulier sur les systèmes gérés par l’alimentation et les ordinateurs multiprocesseurs. Par exemple, si vous spécifiez ce minuteur sur l’ordinateur doté d’un processeur Arm, cela peut entraîner des événements hors commande. Au lieu de cela, -UsePerfCounter est recommandé pour le suivi haute résolution.
-UsePerfCounter est le minuteur par défaut pour le suivi d’événements.
-UsePerfCounter
Enregistre la valeur de l’horloge du compteur de performances haute résolution, plutôt que de l’heure système de résolution inférieure, avec chaque message de trace.
Étant donné que l’horloge du compteur de performances compte en environ 100 nanosecondes, elle fournit un horodatage unique pour chaque événement.
-UsePerfCounter est le minuteur par défaut pour le suivi d’événements.
-UseSystemTime
Enregistre l’heure système, au lieu de l’heure du compteur de performances haute résolution, avec chaque message de trace. Étant donné que le minuteur système a une résolution de 10 millisecondes (par rapport à 100 nanosecondes pour l’horloge du compteur de performances), plusieurs événements peuvent avoir le même temps système.
-UsePerfCounter est le minuteur par défaut pour le suivi d’événements.
- ? | aide | - ?
Affiche des informations sur l’utilisation.
Commentaires
Les commentaires suivants s’appliquent à plusieurs commandes Tracelog.
Erreurs de syntaxe
Tracelog n’affiche pas d’erreurs pour toutes les combinaisons de syntaxe incorrectes, par exemple lorsque vous essayez de mettre à jour un paramètre qui ne peut pas être modifié. Au lieu de cela, il ignore les parties non valides de la commande et affiche un message de réussite.
Enregistreurs d’événements système
Windows utilise des sessions de suivi à de nombreuses fins, dont certaines sont essentielles pour une opération appropriée. N’arrêtez pas les sessions de suivi que vous n’avez pas démarrées.
Énumération
Pour déterminer si une commande tracelog -start ou tracelog -enable a réussi, utilisez une commande tracelog -enumguid pour déterminer si les fournisseurs ont été activés, puis utilisez une commande tracelog -l (List) pour examiner les propriétés de la session de trace.
Sessions en temps réel et journal
Une session de trace peut être à la fois une session de suivi en temps réel et une session de journal de suivi. Si vous incluez les paramètres -rt (en temps réel) et -f (session de journal) dans la même commande, le système envoie le contenu de la mémoire tampon à la fois au journal et à un consommateur de trace. Toutefois, avant de pouvoir ajouter une remise de messages en temps réel à une session de journal de suivi, les mémoires tampons doivent être vidées à l’aide de la commande tracelog -flush .
Si vous démarrez une session en temps réel (-rt), puis que vous effectuez une mise à jour vers une session de journal (-f), tous les nouveaux messages de trace sont envoyés uniquement au fichier journal. Pour ajouter un fichier journal à une session en temps réel, utilisez à la fois -rt et -f dans la commande tracelog -update .
Si vous démarrez une session de journal (-f), vous pouvez effectuer une mise à jour vers une session en temps réel (-rt), mais les messages continuent d’être envoyés au journal en plus du consommateur de trace. Vous ne pouvez pas éliminer le journal de la session en mettant à jour.
Pour afficher ou enregistrer des messages de trace à partir d’une session en temps réel, vous pouvez également utiliser un consommateur de trace, tel que Tracefmt, ou utiliser TraceView, qui est à la fois un contrôleur de trace (comme Tracelog) et un consommateur de trace. Lorsque vous utilisez Tracefmt, veillez à inclure le paramètre -rt dans la commande Tracefmt.
Indicateurs et niveaux
La plupart des fournisseurs de suivi ne génèrent aucun message de trace, sauf si l’indicateur ou le niveau est défini sur une valeur particulière. Les fournisseurs utilisent des indicateurs ou des niveaux pour contrôler ce qui est suivi. Si le fichier journal de suivi des événements est vide, passez en revue les indicateurs et les niveaux dans le fournisseur de trace.
Pour vous assurer que les messages de suivi sont toujours générés, effectuez les étapes suivantes :
Définissez le paramètre d’indicateurs sur 0xFFFFFFFF pour activer tous les paramètres d’indicateur.
Définissez le paramètre de niveaux sur 255 pour activer tous les paramètres de niveau.
Paramètre -eflag
Tracelog a un paramètre -eflag (indicateurs étendus) qui a été conçu pour activer des indicateurs supplémentaires pour la session de trace de l’enregistreur d’événements de noyau NT, notamment les indicateurs pour activer le suivi des événements DPC, ISR et de commutateur de contexte. Étant donné que la commande tracelog -start inclut désormais le paramètre -dpcisr , l’utilisation du paramètre -eflag n’est plus nécessaire et n’est pas recommandée.
Paramètres obsolètes
Dans les versions précédentes de Tracelog, la commande tracelog -start a pris en charge la combinaison de paramètres -rt b . Cette combinaison a été remplacée par le paramètre -buffering et n’est plus valide.
Le paramètre -x a été supprimé, car l’arrêt de toutes les sessions de trace peut entraîner une instabilité système.
Le paramètre -disableex a été supprimé. Utilisez -disable à la place.
Enregistreur d’événements du noyau NT
Pour démarrer une session de trace avec l’enregistreur d’événements du noyau NT, omettez le nom de session de la commande tracelog -start et n’utilisez pas le paramètre -guid pour spécifier un fichier GUID de fournisseur. « NT Kernel Logger » est le nom de session par défaut.
Si le nom de session est omis ou s’il s’agit de « NT Kernel Logger », le système démarre une session de trace NT Kernel Logger, même si vous utilisez un paramètre -guid pour spécifier un GUID autre que SystemTraceControlGUID, le GUID de contrôle pour la session de trace de l’enregistreur d’événements du noyau NT. Si vous spécifiez un AUTRE GUID, le système retourne une erreur (« System Logger n’accepte pas les guid d’application »), mais démarre toujours une session de trace de l’enregistreur d’événements du noyau NT.
Par défaut, lorsque Tracelog démarre une session de trace NT Kernel Logger, il active les traces de processus, de threads, d’E/S de disque physique et d’événements TCP/IP, mais vous pouvez utiliser les paramètres pour désactiver le suivi de ces événements et activer le suivi d’autres événements.
Événements DPC/ISR
Étant donné que Tracerpt attend une heure d’horloge du compteur de performances système comme horodatage, utilisez le paramètre Tracelog -UsePerfCounter lorsque vous démarrez la session de trace.
Étant donné que les événements DPC et ISR sont collectés par une instrumentation spéciale, ils n’apparaissent pas dans la ligne de suivi Activée de la table affichée par Tracelog pour confirmer une commande.
Pour plus d’informations, consultez l’exemple 15 : Mesure du temps DPC/ISR.