windbg问题:Failed to load data access DLL, 0x80004005
1.问题
在使用windbg分析dump文件时,有时候会遇到这个问题“Failed to load data access DLL, 0x80004005“,如下图所示:
2.问题分析
最根本原因是:SOS.dll调试器扩展未能找到匹配项mscordacwks.dll。
3.原因
1:没有设置symbol path,如下图所示:
2:设置了symbol path ,但是mscordacwks.dll版本不正确。
4.解决方案
4.1:没有设置symbol path
1:这个很简单,只要配置symbol path即可。
2:需要注意的点:我的电脑,symbol path这个路径是在 E:\symbol-cache下(可以灵活设置)
4.2:mscordacwks.dll版本不匹配
下面的例子是64位应用程序的解决方案,32位应用程序的解决思路是一样的。
第一步:从生成dump文件的服务器获取mscordacwks.dll。
路径: C:\Windows\Microsoft.NET\Framework64\v4.0.30319
第二步:调整mscordacwks.dll名称,改成如下形式:mscordacwks_AAA_AAA_xxxx.dll。
1: AAA代表x86 or AMD64。
2: xxxx代表mscordacwks版本号,如下图所示。
3:调整后的结果是这样:mscordacwks_AMD64_AMD64_4.0.30319.17929.dll。
第三步:将mscordacwks_AMD64_AMD64_4.0.30319.17929.dll复制到symbol path路径下。
第四步:reload或从起windbg都可以。
5.总结
以上就是处理Failed to load data access DLL问题的解决思路。若还无法解决请留言。