3

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

xperf -on SysProf -stackwalk profile

尽管如此,堆栈跟踪不包含任何调用堆栈数据。

我的平台是 Vista 64b。在 64b Windows 上捕获调用堆栈是否需要任何特殊设置或技巧?

4

1 回答 1

5

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

设置注册表值 DisablePagingExecutive = 1 并重新启动(请参阅Windows Performance Toolkit FAQ)。

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


在联系 Microsoft 支持后,他们的答复是使用 x64 Vista,您只能捕获 x64 本机应用程序的调用堆栈,而不是 32b 应用程序。


Windows 7 似乎已经消除了限制,它在 Win 7 x64 上运行良好,至少这表明Valve 在 Xperf 上的演示

于 2009-01-26T14:00:57.117 回答