有谁知道是否有办法在编译的代码中启用或未启用 WPP 跟踪(对于 Windows 驱动程序)?
限定:通过函数 TraceEvents进行跟踪(尽管它更像是一个标记,因为编译器在预处理过程中会处理它)。我需要知道的是这个函数是活跃的还是已经编译出来了。我认为 TraceEvents 只是某个地方的#define,但似乎编译过程会预先解析代码并将自己的东西放在找到 TraceEvents 的地方,否则这
#ifdef TraceEvents
会起作用
有问题的标志位于 Project->Properties->Wpp Tracing->General->Run Wpp Tracing 下
为这些选项生成的命令行是:
-p:"MYDEVICE" -km -scan:"trace.h" -odir:".\obj\Release\x64\" -func:"TraceEvents(LEVEL,FLAGS,MSG,...)" -cfgdir:"C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\wppconfig\rev1
我阅读了文档(此处),我认为 WPP_KERNEL_MODE 可能会这样做,但无论运行 Wpp Tracing下的设置如何,都已设置
[为什么我需要这样做很复杂。设备驱动程序与 FPGA 通信,我需要根据跟踪是否打开或崩溃来修改我所做的工作量(这是 FPGA 实现方式的问题,我无法更改)]