Suivi logiciel WPP

Cette section explique comment utiliser le préprocesseur de trace logicielle Windows (WPP) pour suivre le fonctionnement d’un composant logiciel (fournisseur de trace). Un fournisseur de trace peut être l’un des éléments suivants :

  • Pilote en mode noyau.

  • Un pilote en mode utilisateur, une application ou une bibliothèque de liens dynamiques (DLL).

Le suivi logiciel WPP complète et améliore le suivi d’événements WMI en ajoutant des moyens de simplifier le suivi du fonctionnement du fournisseur de trace. Il s’agit d’un mécanisme efficace permettant au fournisseur de trace de journaliser des messages binaires en temps réel. Les messages enregistrés peuvent ensuite être convertis en trace lisible par l’utilisateur de l’opération du fournisseur de trace.

Quand devez-vous utiliser le suivi logiciel WPP ?

Le suivi logiciel WPP est principalement destiné au débogage du code pendant le développement. Si vous souhaitez publier des événements qui peuvent être consommés par des applications intéressées par des événements ETW structurés, en plus du suivi pendant le développement, utilisez les éléments suivants :

Pour plus d’informations, consultez Quand utiliser le suivi logiciel WPP ou l’API De suivi d’événements pour Windows (ETW) ?

La journalisation des messages avec le suivi logiciel WPP est similaire à l’utilisation des services de journalisation des événements Windows. Le pilote consigne un ID de message et des données binaires non mises en forme dans un fichier journal. Par la suite, un postprocesseur convertit les informations du fichier journal en un formulaire lisible par l’utilisateur. Toutefois, le suivi logiciel WPP prend en charge les formats de message plus performants et flexibles que ceux pris en charge par les services de journalisation des événements. Par exemple, le suivi logiciel WPP prend en charge les adresses IP, les GUID, les ID système, les horodatages et d’autres types de données utiles. En outre, les utilisateurs peuvent ajouter des types de données personnalisés pertinents pour leur application.

Vue d’ensemble du processus de suivi logiciel WPP

Le processus de base pour ajouter le suivi logiciel WPP à un pilote ou à une application comprend les étapes suivantes. Si vous utilisez l’un des modèles Visual Studio fournis dans le WDK pour créer un pilote WDF, une grande partie du travail est effectuée pour vous.

  • Définissez un GUID de contrôle qui identifie de manière unique le pilote ou l’application en tant que fournisseur de trace. Le fournisseur spécifie ce GUID dans sa définition de la macro WPP_CONTROL_GUIDS et dans un fichier de contrôle associé utilisé par Tracelog ou un autre contrôleur de trace.

  • Ajoutez les directives de préprocesseur C et les appels de macro WPP requis aux fichiers sources du fournisseur, comme décrit dans Ajout du suivi logiciel WPP à un pilote Windows et référence sur le suivi logiciel WPP.

  • Modifiez le projet Visual Studio pour exécuter le préprocesseur WPP et générer le pilote, comme décrit à l’étape 6 de l’ajout du suivi logiciel WPP à un pilote Windows. Vous pouvez vous référer au préprocesseur WPP pour plus d’options de temps de génération.

  • Installez le pilote ou le composant. Démarrez une session de suivi et enregistrez les messages de suivi. Utilisez les outils de suivi logiciel, tels que TraceView, Tracelog, Tracefmt et Tracepdb pour configurer, démarrer et arrêter des sessions de suivi, ainsi que pour afficher et filtrer les messages de suivi. Ces outils sont inclus dans le Kit de pilotes Windows (WDK).

Contenu de cette section

Note Le suivi d’événements pour Windows (ETW) et WPP prennent en charge la plupart des types de pilotes en mode noyau et en mode utilisateur. Toutefois, ETW et WPP utilisent des types qui ne sont pas disponibles pour certains types de pilotes, tels que les pilotes miniport. Pour déterminer si un type de pilote particulier est pris en charge, ajoutez des macros WPP de base au pilote, telles que WPP_INIT_TRACING et WPP_CLEANUP. Si le code ne se compile pas, car les types utilisés ne sont pas définis, ETW et WPP ne peuvent pas prendre en charge le type de pilote.

Pour plus d’informations sur ETW, consultez Suivi d’événements pour Windows.

Note Les fournisseurs de trace WPP ne peuvent être activés que par une session de trace à la fois. Pour plus d’informations, consultez Fournisseurs WPP .

Pour plus d’informations sur les routines de prise en charge de la bibliothèque WMI qui prennent en charge le suivi logiciel WPP, consultez :

WmiQueryTraceInformation

WmiTraceMessage

WmiTraceMessageVa