Seguimiento de software de WPP

En esta sección se describe cómo usar el preprocesador de seguimiento de software de Windows (WPP) para realizar un seguimiento del funcionamiento de un componente de software (proveedor de seguimiento). Un proveedor de seguimiento puede ser uno de los siguientes:

  • Un controlador en modo kernel.

  • Un controlador en modo de usuario, una aplicación o una biblioteca de vínculos dinámicos (DLL).

El seguimiento de software wpP complementa y mejora el seguimiento de eventos WMI agregando formas de simplificar el seguimiento del funcionamiento del proveedor de seguimiento. Es un mecanismo eficaz para que el proveedor de seguimiento registre mensajes binarios en tiempo real. Los mensajes registrados se pueden convertir posteriormente en un seguimiento legible de la operación del proveedor de seguimiento.

¿Cuándo debe usar el seguimiento de software de WPP?

El seguimiento de software de WPP está pensado principalmente para depurar código durante el desarrollo. Si desea publicar eventos que pueden consumir las aplicaciones interesadas en eventos ETW estructurados, además del seguimiento durante el desarrollo, use lo siguiente:

  • Para los controladores en modo kernel, use la API seguimiento de eventos para Windows (ETW).
  • En el caso de los controladores o aplicaciones en modo de usuario, use la API seguimiento de eventos (escritorio de Windows).
Para obtener más información, vea ¿Cuándo debo usar el seguimiento de software de WPP o la API de seguimiento de eventos para Windows (ETW)?

El registro de mensajes con seguimiento de software de WPP es similar al uso de los servicios de registro de eventos de Windows. El controlador registra un identificador de mensaje y datos binarios sin formato en un archivo de registro. Posteriormente, un postprocesador convierte la información del archivo de registro en un formulario legible. Sin embargo, el seguimiento de software de WPP admite formatos de mensaje más capaces y flexibles que los admitidos por los servicios de registro de eventos. Por ejemplo, el seguimiento de software de WPP tiene compatibilidad integrada con direcciones IP, GUID, identificadores de sistema, marcas de tiempo y otros tipos de datos útiles. Además, los usuarios pueden agregar tipos de datos personalizados relevantes para su aplicación.

Información general sobre el proceso de seguimiento de software de WPP

El proceso básico para agregar el seguimiento de software de WPP a un controlador o aplicación incluye los pasos siguientes. Si usa una de las plantillas de Visual Studio proporcionadas en el WDK para crear un controlador WDF, gran parte del trabajo se realiza por usted.

  • Defina un GUID de control que identifique de forma única el controlador o la aplicación como proveedor de seguimiento. El proveedor especifica este GUID en su definición de la macro de WPP_CONTROL_GUIDS y en un archivo de control relacionado usado por Tracelog u otro controlador de seguimiento.

  • Agregue las directivas de preprocesador de C relacionadas con WPP necesarias y las llamadas de macros de WPP a los archivos de origen del proveedor, como se describe en Agregar seguimiento de software de WPP a un controlador de Windows y en la referencia de seguimiento de software de WPP.

  • Modifique el proyecto de Visual Studio para ejecutar el preprocesador de WPP y compilar el controlador, como se describe en el paso 6 de Agregar seguimiento de software de WPP a un controlador de Windows. Puede consultar el preprocesador de WPP para obtener más opciones de tiempo de compilación.

  • Instale el controlador o el componente. Inicie una sesión de seguimiento y registre los mensajes de seguimiento. Use las herramientas para el seguimiento de software, como TraceView, Tracelog, Tracefmt y Tracepdb para configurar, iniciar y detener las sesiones de seguimiento y mostrar y filtrar los mensajes de seguimiento. Estas herramientas se incluyen en el Kit de controladores de Windows (WDK).

En esta sección

Nota Seguimiento de eventos para Windows (ETW) y WPP admiten la mayoría de los tipos de controladores de modo kernel y modo de usuario. Sin embargo, ETW y WPP usan tipos que no están disponibles para determinados tipos de controladores, como los controladores de minipuerto. Para determinar si se admite un tipo de controlador determinado, agregue macros de WPP básicas al controlador, como WPP_INIT_TRACING y WPP_CLEANUP. Si el código no se compila porque no se definen los tipos que se usan, ETW y WPP no pueden admitir el tipo de controlador.

Para obtener más información sobre ETW, vea Seguimiento de eventos para Windows.

Nota Los proveedores de seguimiento de WPP solo pueden habilitarse mediante una sesión de seguimiento a la vez. Consulte Proveedores de WPP para obtener más información.

Para obtener información sobre las rutinas de compatibilidad de la biblioteca WMI que admiten el seguimiento de software de WPP, vea:

WmiQueryTraceInformation

WmiTraceMessage

WmiTraceMessageVa