使用Windbg分析dump文件:符号文件路径应该设置什么路径?
我在 VS 2008 崩溃后使用 procdump 创建了一个转储文件。我怀疑这是 Resharper 的问题,因此我需要生成足够的信息供 Resharper 修复。
现在,当我打开 Windbg 时,我需要设置符号文件路径。根据 文档,我必须将其设置为:
SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols
但是由于我正在调查问题在 resharper 中,我不应该从 Resharper 应用程序目录获取 pdb 文件,而不是下载 VS 2008 或 Microsoft dll 符号吗?
或者,换句话说,我只需要 Resharper pdb 符号,而不是来自 Microsoft 的符号 因为是 Resharper 导致了崩溃,我说得对吗?
I created a dump file after my VS 2008 crashed by using procdump. I suspect that this is a Resharper problem, so I need to generate enough information for Resharper to fix.
Now, when I open my Windbg, I need to set Symbol File Path. According to the documentation, I would have to set it as this:
SRV*your local folder for symbols*http://msdl.microsoft.com/download/symbols
But since I am investigating problems in resharper, shouldn't I get the pdb files from Resharper application directory, instead of downloading VS 2008 or Microsoft dll symbols?
Or, to put it in other words, I need only Resharper pdb symbols, not symbols from Microsoft
because it is Resharper that is causing the crash, am I right?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
符号路径可以包含多个位置。使用
.sympath+
添加到现有符号路径。您可以有一个符号路径,例如c:\applicationpath; c:\库路径; SRV*c:\localcache*http://someserver; SRV*c:\localcache*http://somotherserver
。The symbol path can contain multiple locations. Use
.sympath+ <newpath>
to add to the existing symbol path. You can have a symbol path likec:\applicationpath; c:\librariespath; SRV*c:\localcache*http://someserver; SRV*c:\localcache*http://somotherserver
.如果您没有所有 pdb,调试器引擎将默认导出符号。因此,对于源自没有关联符号文件的模块的调用,调用堆栈将显示相对于模块导出的位置。
拥有仅适用于 Resharper 的 pdb 将向您显示其中的正确调用。对于其他dll内部的调用,它将诉诸导出。因此,如果您对 Resharper 内部的调用感兴趣,仅拥有相应的符号就足够了。
If you dont have all the pdbs, the debugger engine will default to export symbols. So for the calls which originate in a module that does not have associated symbol files, the call stack will show the location relative to the module exports.
Having a pdb only for Resharper will show you proper calls inside it. For the calls inside other dlls, it will resort to exports. So if you are interested in the calls inside Resharper, having symbols for only that should suffice.