VS2010:尝试为故障转储加载符号时“找不到匹配的二进制文件”
Posted
技术标签:
【中文标题】VS2010:尝试为故障转储加载符号时“找不到匹配的二进制文件”【英文标题】:VS2010: "No matching binary found" when trying to load symbols for crashdump 【发布时间】:2012-08-31 03:07:54 【问题描述】:出于测试目的,我正在 Visual Studio 2010 中调试一个 minidump(使用 .dump /ma 创建)。
我有可用于该转储的符号,但没有当前的二进制文件(它是一个可执行文件)。
VS2010 中的模块窗口显示“找不到匹配的二进制文件”,这似乎是正确的,因为在目标计算机上的路径上找不到它。
我仍然想加载符号,所以我右键单击模块,选择“从符号路径加载符号”(其中包含正确 pdb 的路径),但会弹出一个对话框,要求我选择二进制文件文件。我无法为我的模块加载符号。
为什么VS需要镜像文件? WinDbg 能够加载符号文件并毫无问题地向我显示错误堆栈。
【问题讨论】:
【参考方案1】:我认为这是设计使然。 Visual Studio 由一个团队设计和开发,而 WinDbg 由另一个团队设计和开发,
http://msdn.microsoft.com/en-us/library/htzy3t6f.aspx
如果加载使用堆保存的小型转储文件,即使找不到应用程序二进制文件,Visual Studio 也可以加载符号。没有堆的小型转储文件需要二进制文件来加载符号。
如果你想让 Visual Studio 和 WinDbg 一样,你应该去 Microsoft Connect 并创建一个功能请求,
http://connect.microsoft.com/intro/
【讨论】:
我知道这是不同的产品。但也可以在您提供的链接上阅读:“如果您加载一个用堆保存的小型转储文件,即使找不到应用程序二进制文件,Visual Studio 也可以加载符号。”以上是关于VS2010:尝试为故障转储加载符号时“找不到匹配的二进制文件”的主要内容,如果未能解决你的问题,请参考以下文章
WinDbg 加载符号需要很长时间;正在搜索大型网络 UNC 符号存储中的每个目录
vs2010 C# 当前不会命中断点。还没有为该文档加载任何符号。 求解决
VS 2010 远程调试器断点当前不会被命中。没有为此文档加载任何符号
vs2010调试老是在为.加载符号,特别慢,谁能告诉我怎么回事