加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

.net – Windbg期待mscordacwks.dll的不同版本

发布时间:2020-12-14 04:11:39 所属栏目:Windows 来源:网络整理
导读:我在尝试使用windbg调试minidump文件时遇到了一个非常奇怪的问题. 我在自己的机器上试过这个通过在目标机器上运行windbg,从中获取minidump,但结果在两种情况下都是相同的. 在开始我加载所需的dll,如下所示,请注意,如果我将症状设置为微软符号服务器,则会出现
我在尝试使用windbg调试minidump文件时遇到了一个非常奇怪的问题.
我在自己的机器上试过这个通过在目标机器上运行windbg,从中获取minidump,但结果在两种情况下都是相同的.

在开始我加载所需的dll,如下所示,请注意,如果我将症状设置为微软符号服务器,则会出现同样的问题.

0:000> .symfix c:sos

0:000> .load C:WindowsMicrosoft.NETFramework64v4.0.30319sos

检查链条的一切看起来都不错,所以我现在去运行!pe并得到一个关于mscordacwks的错误,据我所知,这通常表明我使用的是.net框架的错误版本.但是在我在目标机器上运行它时,情况确实应该不是这样.

然后我做了一个冗长的加载

.cordll -ve -u -l

并获取以下错误消息

CLRDLL: C:WindowsMicrosoft.NETFrameworkv4.0.30319mscordacwks.dll:4.0.30319.17929 f:8
doesn’t match desired version 4.0.30319.296 f:8

我不明白为什么windbg正在寻找旧版本的mscordacwks?似乎.296版本是从ms符号服务器下载的clr的版本,但我明确地告诉windbg使用本地版本.

我尝试过建议here和here的方法,但没有任何效果.任何帮助是极大的赞赏.

这是因为您在安装了.NET 4.5的计算机上调试.NET 4.0转储.底层调试API在4.0和4.5之间发生了显着变化,因此您无法使用.NET 4.5 SOS.dll调试.NET 4.0转储.我所做的是将.NET 4.0 SOS复制到我的winext目录并在我调试.NET 4.0转储时显式加载它.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读