在 KMDF 驱动程序中使用 WPP 软件跟踪

WPP 软件跟踪 使你能够添加跟踪消息来帮助调试驱动程序。 此外,框架的事件 记录器 还提供数百条可查看的跟踪消息。

可以使用 TraceView 或 Tracelog 查看 跟踪消息。 还可以 将跟踪消息发送到内核调试器

将跟踪消息添加到驱动程序

若要将跟踪消息添加到基于框架的驱动程序,必须:

  • #include 指令添加到包含任何 WPP 宏的每个驱动程序源文件。 此指令必须 (TMH) 文件标识跟踪消息头。 文件名的格式必须为 <driver-source-file-name.tmh。>

    例如,如果驱动程序包含两个名为 MyDriver1.c 和 MyDriver2.c源文件,则 MyDriver1.c 必须包含:

    #include“MyDriver1.tmh”

    MyDriver2.c 必须包含:

    #include“MyDriver2.tmh”

    在 Microsoft Visual Studio 中生成驱动程序时,WPP 预处理器将生成 。tmh 文件。

  • 在头文件中定义 WPP_CONTROL_GUIDS 宏。 此宏为驱动程序的跟踪消息定义 GUID 和跟踪 标志

  • 在驱动程序的 DriverEntry 例程中包含WPP_INIT_TRACING宏。 此宏激活驱动程序中的软件跟踪。

  • 在驱动程序的 EvtDriverUnload 回调函数中包含WPP_CLEANUP宏。 此宏会停用驱动程序中的软件跟踪。

  • 在驱动程序中使用 DoTraceMessage 宏或 宏的自定义版本 来创建跟踪消息。

  • 打开驱动程序项目的“属性页”。 在“解决方案资源管理器”中右键单击驱动程序项目,并选择“属性” 。 在驱动程序的“属性页”中,单击“ 配置属性”,然后单击 “Wpp 跟踪”。 在“ 常规 ”菜单下,将 “运行 WPP 跟踪 ”设置为“是”。 在“ 文件选项” 菜单下,还应指定框架的 WPP 模板文件,例如:

    {km-WdfDefault.tpl}*.tmh
    
  • 若要在 Visual Studio 中为驱动程序项目指定其他 WPP 跟踪设置,请在解决方案资源管理器中右键单击驱动程序项目。 然后,按照 Properties-Configuration Properties-WPP>> 跟踪的链接操作。

  • 若要指定跟踪配置文件,请使用“扫描配置数据”设置。 对于多个跟踪配置文件,请在“命令行”-> “其他选项”下添加它,如下所示

    -scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"
    

    有关向驱动程序添加跟踪消息的详细信息,请参阅 将 WPP 宏添加到驱动程序

使用 WPP 软件跟踪的示例驱动程序

AMCC5933、NONPNP、KMDF_FX2、PCIDRV、PLX9x5x 和串行 示例驱动程序 使用 WPP 软件跟踪。