如何在64b操作系统上执行Xperf callstack捕获?

Sum*_*uma 3 windows performance 64-bit profiling xperf

我已经从Windows SDK安装了Xperf性能分析器,并使用以下命令捕获了文档中描述的跟踪:

xperf -on SysProf -stackwalk profile
Run Code Online (Sandbox Code Playgroud)

但是,堆栈跟踪不包含任何callstack数据.

我的平台是Vista 64b.在64b Windows上捕获callstacks是否需要任何特殊设置或技巧?

Sum*_*uma 5

经过一番搜索,我找到了一个设置:

设置注册表值DisablePagingExecutive = 1并重新启动(请参阅Windows Performance Toolkit常见问题解答).

虽然这听起来很棒,但它似乎对我的系统没有帮助,仍然没有调用堆栈.


在联系Microsoft支持后,他们的回复是使用x64 Vista,您只能捕获x64本机应用程序的callstack,而不是32b.


Windows 7似乎已经取消了限制,它在Win 7 x64上工作正常,至少这表示在Xperf上的Valve演示.