Comment faire envoyer des messages de trace à un débogueur de noyau ?
Vous pouvez utiliser plusieurs méthodes pour rediriger les messages de trace vers un débogueur en mode noyau. Quelques-uns sont abordés ici.
Vous pouvez rediriger les messages de trace vers KD ou Vers Windbg, selon ce qui est attaché. Le débogueur doit être attaché via un port COM avec un câble de débogage (modem null) ou via le port 1394 (« firewire ») avec un câble IEEE 1394. Vous ne pouvez pas rediriger les messages de trace vers d’autres débogueurs de noyau, tels que NTSD.
Pour afficher les messages de trace dans un débogueur, wmitrace.dll et traceprt.dll doivent se trouver dans le chemin de recherche du débogueur sur l’ordinateur hôte. Ces DLL sont incluses dans outils de débogage pour Windows . En outre, pour permettre au débogueur de rechercher les fichiers de format de message de trace (.tmf) pour les messages de suivi, les fichiers TMF doivent se trouver dans le chemin de recherche du débogueur sur l’ordinateur hôte. Pour définir le chemin de recherche du débogueur, utilisez l’extension de débogueur spécialisé !wmitrace.searchpath ou définissez la valeur de la variable d’environnement %TRACE_FORMAT_SEARCH_PATH%.
Pour plus d’informations, recherchez !wmitrace dans Outils de débogage pour Windows.
Logman
Utilisez la commande Logman suivante pour rediriger les messages de trace vers un débogueur en mode noyau :
logman start TraceSession -ets -mode KernelFilter -bs 3
Le paramètre -ets démarre une session de suivi d’événements qui n’est pas contrôlée par le service Journaux et alertes de performances. Le paramètre -mode active des options avancées, notamment l’option KernelFilter .
Le paramètre -bs définit la taille de la mémoire tampon pour la session de trace sur 3 Ko, la taille maximale de la mémoire tampon pour le débogueur. Si vous omettez ce paramètre, la session du débogueur ne fonctionnera pas correctement.
Logman est inclus dans Windows XP et les versions ultérieures de Windows.
Journal des traces
Utilisez la commande Tracelog suivante rediriger les messages de trace vers un débogueur en mode noyau :
tracelog -start MyTrace -guid MyProvider.ctl -rt -kd
Le paramètre -guid spécifie le fournisseur de trace. Le paramètre -rt spécifie une session de suivi en temps réel. Le paramètre -kd redirige les messages de trace vers le débogueur du noyau et définit la taille maximale de la mémoire tampon sur 3 Ko, la valeur maximale pour le débogueur.
Pour obtenir un exemple, consultez Exemple 16 : Affichage des messages de trace dans un débogueur.
Tracelog se trouve dans le sous-répertoire tools\tracing\<Platform> du WDK, où <Platform> est i386, amd64 ou ia64.
Traceview
TraceView a une interface utilisateur graphique.
Vous pouvez rediriger les messages de trace vers un débogueur de noyau lors de la création d’une session de suivi. Dans la page Options de session de journal, cliquez sur Options avancées de session de journal, cliquez sur l’onglet Options des paramètres de session de journal, puis remplacez la valeur de l’option Windbg par TRUE. Vous ne pouvez pas modifier cette option pendant l’exécution de la session de trace.
TraceView se trouve dans le sous-répertoire tools\tracing\<Platform> du WDK, où <Platform> est i386, amd64 ou ia64.