我试图使用xperf来分析我的dll,但它拒绝使用我的dll的pdb文件。
在带有-symbols的.etl上运行xperf,我得到:
DBGHELP: mydll- private symbols & lines
C:\mydll\debugu\mydll.pdb - unmatched
这使我相信它认为我的pdb与应用程序正在使用的dll不匹配。这是错误的;它确实匹配。我已经使用procexp确认了应用程序链接的dll的路径,完全重建了项目,等等。它仍然认为它不匹配。
有什么问题吗?
最佳答案
请尝试将系统环境变量'u nt_symbol_path'设置为指向.pdb文件'u nt_symcache_path'以指向C:\ symbols。有关xperf符号处理的文档,请参见http://msdn.microsoft.com/en-us/library/ff191023(VS.85).aspx
在windowsitpro.com上还有一篇很好的博客文章,标题是“在xperf的封面下”,其中介绍了提交xperf的符号。
注意,我需要用正确的值设置系统环境变量,xperfview没有选择在批处理文件中设置环境(启动xperfview后立即选中“检查跟踪”、“配置符号路径”菜单选项)
关于windows - xperf无法加载我的DLL的符号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2746254/