【问题标题】:Visual Studio 2012 debug using different dll and pdbVisual Studio 2012 调试使用不同的 dll 和 pdb
【发布时间】:2018-04-04 04:23:26
【问题描述】:

我正在尝试使用 Visual Studio 2012 打开转储文件,但缺少一些 PDB 文件。

有没有办法让调试器使用我机器上构建的另一个 PDB 文件? 不幸的是,我无法访问原始的 DLL 和 PDB。

我正在尝试使用“浏览并查找 ***.dll...”按钮打开我的 PDB,但我收到一条错误消息,提示“在此文件夹中找不到匹配的符号文件”

【问题讨论】:

  • 如果您有与转储文件匹配的 dll 和 pdb,这会容易得多,但也许这会有所帮助:stackoverflow.com/questions/744870/…
  • 我建议使用 wlndbg 并发出 .loadby sos clr
  • 每个人都会犯一次这个错误。重建您的应用程序,保留 DLL 和 PDB,并将其发送给您的客户,并附上“对不起”。
  • 有些公司多年来一直犯这个错误
  • 比这要复杂一点。我正在使用正在使用另一个第三方的第三方,并且应用程序在第二个第三方的某处崩溃。所以我尝试自己构建第二个第三方希望看看崩溃发生在哪里(这是一个访问冲突异常)

标签: c# visual-studio debugging visual-studio-2012 crash-dumps


【解决方案1】:

Visual Studio 没有忽略不匹配符号的选项。其他调试器(如 WinDbg)也有。

ChkMatch 能够修改 PDB 文件,以便 Visual Studio 不再识别差异。然而,结果就是这样:即使是轻微的修改也可能导致编译器发出完全不同的代码。您在 Visual Studio 中看到的内容可能完全具有误导性。详情请见this answer

警告:调查后立即删除修改后的文件,否则你迟早会寻找幽灵错误。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2016-12-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多