Поделиться через


Использование трассировки программного обеспечения WPP в драйверах KMDF

Программное обеспечение трассировки 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 и флаги трассировки для сообщений трассировки драйвера.

  • Включите макрос WPP_INIT_TRACING в функцию DriverEntry. Этот макрос активирует трассировку программного обеспечения в драйвере.

  • Добавьте макрос WPP_CLEANUP в функцию обратного вызова драйвера EvtDriverUnload. Этот макрос деактивирует трассировку программного обеспечения в драйвере.

  • Используйте макрос DoTraceMessage или настраиваемую версию макроса в вашем драйвере для создания сообщений трассировки.

  • Откройте страницы свойств для проекта драйвера. Щелкните правой кнопкой мыши проект драйвера в обозревателе решений и выберите Свойства. На страницах свойств драйвера щелкните Свойства конфигурации, а затем Трассировка Wpp. В меню Общие установите параметр Запускать трассировку WPP в значение Да. В меню Параметры файла необходимо также указать файл шаблона WPP фреймворка, например:

    {km-WdfDefault.tpl}*.tmh
    
  • Чтобы указать дополнительные параметры трассировки WPP для проекта драйвера в Visual Studio, щелкните правой кнопкой мыши проект драйвера в обозревателе решений. Затем перейдите по ссылке Properties->Configuration Properties->WPP Tracing.

  • Чтобы указать файл конфигурации трассировки, используйте параметр "Сканировать данные конфигурации". Для нескольких файлов конфигурации трассировки добавьте его в раздел "Командная строка"> "Дополнительные параметры", как показано ниже.

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

    Дополнительные сведения о добавлении сообщений трассировки в драйвер см. в разделе Добавление макросов WPP в драйвер.

Примеры драйверов, использующих трассировку программного обеспечения WPP

Примеры драйверов AMCC5933, NONPNP, KMDF_FX2, PCIDRV, PLX9x5x и Serial используют программную трассировку WPP.