【问题标题】:String.cs cannot be located during DUMP file debug在 DUMP 文件调试期间找不到 String.cs
【发布时间】:2019-12-13 04:15:31
【问题描述】:

我构建了一个 Windows 服务,几个月来一直运行良好。突然间,它一直在崩溃。我让我的服务器管理员生成一个 DUMP 文件供我调试以查看问题出在哪里。在 DUMP 摘要中,我得到以下异常信息:

线程试图读取或写入它没有适当访问权限的虚拟地址。

当我尝试调试时,我收到以下错误:

调试器找不到源文件'f:\dd\ndp\clr\src\BCL\system\string.cs'。

调用堆栈显示:

mscorlib.dll!string.Concat(string str0, string str1) 第 3207 行 已加载 C# 符号。

有人能指出我正确的方向吗?我已经看到了其他问题,但它们似乎更适合自定义用户生成的代码,如用户控件。这是一个系统文件。

编辑

添加照片

调用堆栈 找不到来源

【问题讨论】:

  • 这可能对stackoverflow.com/questions/2806993/no-source-available 有所帮助。如果这不是来自CLRString 而是一些第3 方dll,那么例如ILSpy 可以从 dll 中生成 pdb
  • 是的,我之前找到了那个。按照这些建议,我现在才提示 string.cs 的位置,而不仅仅是停止。不,这不是第三方参考。

标签: c# .net debugging dump


【解决方案1】:

所以我不知道的第一件事是 bin 文件夹中的 .pdb 文件应该与当前运行的应用程序的版本相同。我在部署后对源代码进行了更改,因此我随后的构建更改了 pdb 文件。

其次,由于调试器给了我定位文件的选项,我决定去 .NET 存储库,下载 String.cs 代码,将它保存到我驱动器上的一个文件并指向该文件。

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 1970-01-01
    • 2019-05-26
    • 2017-01-31
    • 2022-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多