Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Чтобы выполнить отладку проблем без запуска сеанса трассировки ETW, добавьте определение макроса WPP_DEBUG в ваш исходный код.
Ниже приведен пример драйвера WDK Tracedrv.sys:
#define WPP_DEBUG(b) DbgPrint b, DbgPrint("\n")
Большинство форматов и аргументов можно использовать с WPP_DEBUG. Однако нельзя использовать спецификации расширенного формата, такие как %! HEXDUMP!% с помощью этого макроса.
См. также, как отправлять сообщения трассировки в отладчик пользовательского режима?.
При использовании отладчика ядра
Если вы используете отладчик ядра, задайте значения уровня и флага для структуры управления WPP.
Найдите адрес структуры управления WPP следующим образом:
kd> x tracedrv!WPP_MAIN_CB // tracedrv is the WPP instrumented driver 9fbf3040 tracedrv!WPP_MAIN_CB = union WPP_PROJECT_CONTROL_BLOCK [1] kd>dt WPP_TRACE_CONTROL_BLOCK 9fbf3040 +0x000 Callback : 0x9fbf127c tracedrv!WppTraceCallback+0 +0x004 ControlGuid : 0x9fbf206c _GUID {d58c126f-b309-11d1-969e-0000f875a5bc} +0x008 Next : (null) +0x010 Logger : 0 +0x018 RegistryPath : (null) +0x01c FlagsLen : 0x1 '' +0x01d Level : 0x0 '' <--- Set the Level +0x01e Reserved : 0 +0x020 Flags : [1] 0x0 <--- Set the Flag
Задайте для уровня значение 5 и для флагов 0xf следующим образом:
kd>eb 9fbf305d 5 // setting the level value to 5
kd>ed 9fbf3060 0xf // setting the flag value to 0xf
(Windows Vista и более поздние версии Windows) Включите маску фильтра для получения сообщений следующим образом:
kd>ed nt!Kd_DEFAULT_Mask 0xff