I have an application relying on user mode tracing via wpp framework. However, Microsoft introduced some changes in the couple of latest version of Windows SDK which broke the tracewpp.exe
tool somehow. The actual problem I'm seeing looks as following:
& "C:\Program Files (x86)\Windows Kits\10\bin\10.0.15063.0\x64\tracewpp.exe" ... more args ...
Works as expected (I have checked older versions of SDK, down to 8.0 - all nice and good).
However, when I try to perform the same build with newer version of the SDK the build breaks with a rather cryptic error:
& "C:\Program Files (x86)\Windows Kits\10\bin\10.0.17134.0\x64\tracewpp.exe" ... all the same args ...
Results in:
provider.tpl(0) : error wpp : (Template::DoId) Var not found: Provider tracewpp(0) : error wpp : (RealMain) Fatal error: Template parse error
The template in question originally comes from here: https://github.com/antoxar/WPPTracingSample/blob/master/sample/WppTracing/WppConfig/Rev1/provider.tpl
Can somebody point me at the change log for the tracewpp.exe tool, outlining what changes were done to it recently or otherwise shed light on the above issue?
I had the same problem and solved it. In my case Microsoft Visual Studio 2017 was using the 10.0.17763.0 SDK and running the WPP tools in:
But my tracewpp command was referring to an older "WppConfig\Rev1" directory. The newer tools expected a different
provider.tpl
configuration. I had these various version installed, and was referring to an older version (the last one) instead of the matching "17763" one.If using a Pre-Build step in Visual Stdio, changing the path from
$(WindowsSdkDir)
to$(WDKBinRoot)
worked for me (your other options may vary):As an aside, a
Debug
build of my project failed as well. Make sure to use the compiler flag/Zi
if you want debug symbols instead of/Zl (Debug with Edit and Continue)
.wpptrace
doesn't support it.