XPerfView 加载符号缓慢
我正在尝试使用 Xperf 执行 stackwalk,使用类似于 中列出的批处理文件带有 xperf 的符号。
我启动 XperfView,确认符号路径正确,然后加载符号。但是,当我尝试打开“CPU Sampling by CPU”图表的选定部分(5 秒左右)上的汇总表时,性能分析器会挂起(无响应)很长时间(数小时)。
我昨晚让它继续运行,当我今天早上进来时,汇总表终于加载了,包含预期的结果...我原以为它可能只是执行初始下载以将符号缓存到 C:\symbols,但是今天早上的重复测试也有类似的问题(此时挂起 1 小时 15 分钟)。
I am attempting to perform a stackwalk with Xperf, using a batch file similar to the one listed at Getting the symbols with xperf.
I launch XperfView, confirm the symbol path is correct, and then load the symbols. However, when I attempt to open a summary table on a selected portion (5 seconds or so) of the "CPU Sampling by CPU" graph, the Performance Analyzer hangs (not responding) for a long time (hours).
I left it running last night, and when I came in this morning the Summary Table had finally loaded, containing results as expected... I had thought perhaps it was just performing an initial download to cache the symbols to C:\symbols, but a repeat test this morning has similar problems (hang for 1 hr 15 minutes at this point).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
WPT(xperf、xperfview、WPA)不随 dbghelp.dll 和 symsrv.dll 一起提供。这意味着,根据您的路径中的内容,您可能会得到:
解决方案是将这些 DLL 的已知良好版本复制到 WPT 安装目录中。欲了解更多详细信息,请参阅此帖子:
http://randomascii.wordpress.com/2012/10/ 04/xperf-symbol-loading-陷阱/
WPT (xperf, xperfview, WPA) doesn't ship with dbghelp.dll and symsrv.dll. That means that, depending on what is in your path you may get:
The solution is to copy a known-good version of these DLLs into the WPT install directory. For more details see this post:
http://randomascii.wordpress.com/2012/10/04/xperf-symbol-loading-pitfalls/
Bruce Dawson 在他的 帖子 中推测,当前 SDK 中附带的 WPT 中的 dbghelp.dll 和/或 symsrv.dll 存在问题。他建议用 Visual Studio 2010 或 Windows 调试工具(即 WinDbg)中的工具替换这些工具。为我工作...
In his post , Bruce Dawson speculates that there is an issue with dbghelp.dll and/or symsrv.dll in WPT as shipped in the current SDK. He suggesting replacing those with the ones either from Visual Studio 2010, or from Debugging Tools for Windows (i.e. WinDbg). Worked for me...
你是否设置了像这样的符号缓存
符号缓存会在本地缓存符号。我通常有包含上述信息的
_NT_SYMBOL_PATH
环境变量。华泰
Have you set up symcache something like this
The symcache would cache the symbols locally. I usually have my
_NT_SYMBOL_PATH
environment variable with the above information.HTH