Использование трассировки программного обеспечения 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, щелкните правой кнопкой мыши проект драйвера в разделе Решения Обозреватель. Затем перейдите по ссылке Свойства-Свойства> конфигурации-Трассировка> WPP.
Чтобы указать файл конфигурации трассировки, используйте параметр "Сканировать данные конфигурации". Для нескольких файлов конфигурации трассировки добавьте его в раздел "Командная строка" —> "Дополнительные параметры", как показано ниже.
-scan:"$(KMDF_INC_PATH)\$(KMDF_VER_PATH)\wdftraceenums.h"
Дополнительные сведения о добавлении сообщений трассировки в драйвер см. в статье Добавление макросов WPP в драйвер.
Примеры драйверов, использующих трассировку программного обеспечения WPP
В примерах драйверов AMCC5933, NONPNP, KMDF_FX2, PCIDRV, PLX9x5x и Serial используется трассировка программного обеспечения WPP.