Uso del seguimiento de software de WPP en controladores KMDF
El seguimiento de software de WPP le permite agregar mensajes de seguimiento que le ayudan a depurar el controlador. Además, el registrador de eventos del marco proporciona cientos de mensajes de seguimiento que puede ver.
Puede ver los mensajes de seguimiento mediante TraceView o Tracelog. También puede enviar mensajes de seguimiento a un depurador de kernel.
Agregar mensajes de seguimiento al controlador
Para agregar mensajes de seguimiento al controlador basado en marco, debe hacer lo siguiente:
Agregue una directiva de #include a cada uno de los archivos de origen del controlador que contenga cualquiera de las macros de WPP. Esta directiva debe identificar un archivo de encabezado de mensaje de seguimiento (TMH). El nombre de archivo debe tener un formato driver-source-file-name.tmh><.
Por ejemplo, si el controlador consta de dos archivos de origen, denominados MyDriver1.c y MyDriver2.c, myDriver1.c debe contener:
#include "MyDriver1.tmh"
y MyDriver2.c deben contener:
#include "MyDriver2.tmh"
Al compilar el controlador en Microsoft Visual Studio, el preprocesador de WPP genera . tmh files.
Defina una macro WPP_CONTROL_GUIDS en un archivo de encabezado. Esta macro define un GUID y marcas de seguimiento para los mensajes de seguimiento del controlador.
Incluya una macro de WPP_INIT_TRACING en la rutina DriverEntry del controlador. Esta macro activa el seguimiento de software en el controlador.
Incluya una macro de WPP_CLEANUP en la función de devolución de llamada EvtDriverUnload del controlador. Esta macro desactiva el seguimiento de software en el controlador.
Use la macro DoTraceMessage , o una versión personalizada de la macro, en el controlador para crear mensajes de seguimiento.
Abra las páginas de propiedades del proyecto de controlador. Haga clic con el botón derecho en el proyecto de controlador en Explorador de soluciones y seleccione Propiedades. En las páginas de propiedades del controlador, haga clic en Propiedades de configuración y, a continuación, en Seguimiento de Wpp. En el menú General , establezca Ejecutar seguimiento de WPP en Sí. En el menú Opciones de archivo , también debe especificar el archivo de plantilla WPP del marco, por ejemplo:
{km-WdfDefault.tpl}*.tmh
Para especificar la configuración de seguimiento de WPP adicional para el proyecto de controlador en Visual Studio, haga clic con el botón derecho en el proyecto de controlador en el Explorador de soluciones. A continuación, siga el vínculo a Propiedades-Propiedades de> configuración-Seguimiento> de WPP.
Para especificar un archivo de configuración de seguimiento, use la opción "Examinar datos de configuración". Para más de un archivo de configuración de seguimiento, agréguelo en la línea de comandos:> "Opciones adicionales" como se indica a continuación.
-scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"
Para obtener más información sobre cómo agregar mensajes de seguimiento al controlador, vea Agregar macros de WPP a un controlador.
Controladores de ejemplo que usan el seguimiento de software de WPP
Los controladores de ejemplo AMCC5933, NONPNP, KMDF_FX2, PCIDRV, PLX9x5x y Serial sample usan el seguimiento de software wpP.