【问题标题】:Open Minidump : No native symbols in symbol file打开 Minidump:符号文件中没有本机符号
【发布时间】:2013-12-05 09:24:01
【问题描述】:

在 C# 项目中,我在 UnhandledException 处创建了 minidump。 在我的开发机器中,项目源和 bin 在路径 K:\projects\*MYPROJECT* 下,如果我设法让它在我的开发机器中崩溃,一切正常,我可以打开 minidump 文件并正确查看源代码,调用堆栈,线程等。

最终用户的程序路径显然会有所不同;例如,在我们的测试机项目中安装在 C:\*MYPROJECT* 下。它与 pdb 符号文件一起部署。无论如何,当我尝试在我的开发计算机(我有源文件)上打开在该机器上生成的 minidump 时,Visual Studio 尝试在“测试路径”下找到可执行文件和 pdb 文件(C:\*MYPROJECT* ) 当然没有找到它。

我尝试将符号路径设置为包含 K:\projects*MYPROJECT* 没有任何结果,因此我重新创建了相同的测试目录结构,创建 C:\*MYPROJECT* 并在该目录下复制 .exe 和 .pdb 文件。现在,Visual Studio 能够找到它们,但它说“符号文件中没有本机符号”,它并没有让我看到任何源代码。

如何才能加载正确的符号?

【问题讨论】:

    标签: c# visual-studio-2010 debug-symbols minidump


    【解决方案1】:

    要更改目录,Microsoft describes 打开即时窗口并输入 .exepath [path] 进行更改。

    您也可以使用.srcpath [path].sympath [path]

    【讨论】:

    • 将 .sympath 设置为 pds 没有任何改变的路径.. ; .exepath 总是说 CXX0014: Error: missing operand
    【解决方案2】:

    终于找到了解决办法。

    几周后试图弄清楚我缺少什么,我发现在我的开发机器上我有一个不同的框架版本(详细地说,我在测试机器上有 v4.0.30319.18444 和 v4.0.30319.17929) .我仍然不明白为什么在没有确切的框架版本的情况下我不能调试我的应用程序,但解决方案是复制 mscordacwks.dll 和 mscordbi.dll(它们都在 C:\Windows\Microsoft.dll 中找到。 NET\Framework) 从测试机器到 minidump 所在的文件夹。

    参考: Managed Minidump Debugging in SP1

    【讨论】:

      猜你喜欢
      • 2017-09-03
      • 1970-01-01
      • 2013-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多