2010-07-21 97 views
0

我试图执行与Xperf一个stackwalk,使用类似于在Getting the symbols with xperf列出的一个批处理文件。XPerfView加载缓慢符号

我启动XperfView,确认符号路径是正确的,然后加载的符号。但是,当我尝试在“CPU CPU采样”图的选定部分(5秒左右)上打开摘要表时,性能分析器会长时间(小时)挂起(未响应)。

我跑昨晚离开它,当我来到今天上午汇总表终于装,含结果如预期......我原以为这很可能是进行初始下载到缓存的符号到C: \符号,但今天早上的重复测试有类似的问题(此时挂起1小时15分钟)。

回答

0

你有没有设置symcache这样的

SRV*c:\dev\symbols*http://msdl.microsoft.com/download/symbols 

的symcache将本地缓存的符号。通常我的_NT_SYMBOL_PATH环境变量具有以上信息。

HTH

+0

感谢您的建议!我重读的符号支持http://msdn.microsoft.com/en-us/library/ff191023(v=VS.85).aspx的文档,并改变了我的_NT_SYMCACHE_PATH,这是C:\符号,到C:\ SymCache,并创建了SymCache文件夹,但仍然没有运气。
要重申,我拥有全局环境变量,如下所示:
_NT_SYMBOL_PATH = <我的调试文件夹>; SRV * c:\ symbols * http://msdl.microsoft.com/download/symbols
_NT_SYMCACHE_PATH = C:\ SymCache – sschilz 2010-07-27 23:54:15

+0

您可以尝试使用Procmon进行诊断。 – Naveen 2010-07-28 00:39:13

1

在他post,布鲁斯·道森推测,有一个在WPT dbghelp.dll和/或symsrv.dll一个问题,因为发货在当前SDK。他建议用Visual Studio 2010或Windows调试工具(即WinDbg)替换那些。工作对我来说...

3

WPT(xperf,xperfview,WPA)不dbghelp.dll和symsrv.dll发货。这意味着,这取决于在你的路径,你可能会得到:

  1. 快速符号加载
  2. 符号加载则需多达150倍更长的
  3. 没有符号加载在所有。

解决方案是将已知好的版本的这些DLL复制到WPT安装目录中。欲了解更多详情,请参阅这篇文章: http://randomascii.wordpress.com/2012/10/04/xperf-symbol-loading-pitfalls/