【问题标题】:Source code information missing with SOS/SOSEXSOS/SOSEX 缺少源代码信息
【发布时间】:2019-05-21 08:47:18
【问题描述】:

我正在使用带有 sosex 扩展的 cdb。除了我无法解决任何 !mbp 断点并且 !mu/!muf 不显示源信息之外,一切似乎都运行良好。

开始使用以下命令:

.lines
sxe ld:clrjit
g
.loadby sos clr
.cordll -ve -u -l
.load c:\blah\sosex.dll
sxe ld:myassembly.dll
ld myassembly
!mbm myassembly!myfunction
g

然后它会点击我感兴趣的功能并中断。但是 !mu 不显示任何源信息,仅显示 IL 和本机信息。

我验证了符号,包括源代码行信息,是通过以下方式加载的:

? `myassembly!c:\blah\whatevs.cs:20`

打印出正确的偏移量。

SOSEX 版本是 stevestechspot 的最新版本。针对 .NET Framework 4.7.3 运行。 cdb 和 sosex 都是 x64。

计算机上的源文件位置与 PDB 文件中的位置相匹配。

更新

SOS 遇到同样的问题。 IP2MD 不显示源代码行。

【问题讨论】:

    标签: windbg sos sosex


    【解决方案1】:

    我通过 sos.dll 进行调试,它正确地将本机地址转换为 IL 地址,并将生成的 IL 地址传递给 dbgeng 中的函数 DebugClient::GetLineByOffset()。然而,这返回了 E_FAIL,从反汇编来看,它似乎是硬编码的。

    所以看起来 SOS 依赖于调试器引擎中不再实现的东西来从 IL 偏移中获取源代码行。

    举报:https://developercommunity.visualstudio.com/content/problem/414350/sos-debugger-extension-for-windbg-cant-find-source.html

    被告知将其报告为 WDK 问题 - 此处提出: https://social.msdn.microsoft.com/Forums/en-US/2f9d4bbe-8322-4e8d-883a-e40d19f21209/sos-debugger-extension-for-windbg-cant-find-source-lines?forum=wdk

    【讨论】:

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