7

出于测试目的,我正在 Visual Studio 2010 中调试一个小型转储(使用 .dump /ma 创建)。

我有可用于该转储的符号,但没有当前的二进制文件(它是可执行文件)。

VS2010 中的“模块”窗口显示“未找到匹配的二进制文件”,这似乎是正确的,因为在目标机器上的路径上找不到它。

我仍然想加载符号,所以我右键单击模块,选择“从符号路径加载符号”(其中包含正确 pdb 的路径),但会弹出一个对话框,要求我选择二进制文件。我无法为我的模块加载符号。

为什么VS需要图像文件?WinDbg 能够加载符号文件并毫无问题地向我显示错误堆栈。

4

1 回答 1

1

我认为这是设计使然。Visual Studio 是由一个团队设计和开发的,而 WinDbg 是由另一个团队设计和开发的,

http://msdn.microsoft.com/en-us/library/htzy3t6f.aspx

如果加载使用堆保存的 minidump 文件,即使找不到应用程序二进制文件,Visual Studio 也可以加载符号。没有堆的小型转储文件需要二进制文件来加载符号。

如果你想让 Visual Studio 和 WinDbg 一样,你应该去 Microsoft Connect 并创建一个功能请求,

http://connect.microsoft.com/intro/

于 2012-09-21T12:31:19.157 回答