如何在 64b 操作系统上执行 Xperf 调用堆栈捕获?

发布于 2024-07-12 22:06:44 字数 216 浏览 7 评论 0原文

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

xperf -on SysProf -stackwalk profile

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

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

I have installed Xperf performance analyzer from Windows SDK and captured a trace as described in the documentation using following command:

xperf -on SysProf -stackwalk profile

Still, the stack trace does not contain any callstack data.

My platform is Vista 64b. Are there any special settings or tricks needed to capture callstacks on 64b Windows?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我的奇迹 2024-07-19 22:07:49

经过更多搜索后,我找到了一个设置:

设置注册表值DisablePagingExecutive = 1并重新启动(请参阅Windows 性能工具包常见问题解答)。

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


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


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

After some more searching I have found one setting:

Set registry value DisablePagingExecutive = 1 and reboot (see Windows Performance Toolkit FAQ).

While this sounds great, it does not seem to help at my system, still no call-stacks.


After contacting Microsoft support their reply was with x64 Vista you can capture only callstacks of x64 native applications, not 32b ones.


Windows 7 seems to have removed the limitation and it works fine on Win 7 x64, at least this says Valve presentation on Xperf.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文