首页 新闻 会员 周边

WinDbg无法调试.Net x86 Dump文件

0
悬赏园豆:100 [已解决问题] 解决于 2013-12-11 13:28
问下,WinDbg调试.Net x86 Dump文件,加载sos扩展后,调用扩展命令出现Failed to load data access DLL, 0x80004005错误怎么解决 
问题补充:

0:000> .chain
Extension DLL search Path:
C:\Program Files (x86)\Debugging Tools for Windows\WINXP;C:\Program Files (x86)\Debugging Tools for Windows\winext;C:\Program Files (x86)\Debugging Tools for Windows\winext\arcade;C:\Program Files (x86)\Debugging Tools for Windows\pri;C:\Program Files (x86)\Debugging Tools for Windows;C:\Program Files (x86)\Debugging Tools for Windows\winext\arcade;C:\Program Files (x86)\Common Files\NetSarang;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Autodesk\Backburner\;C:\Program Files\Common Files\Autodesk Shared\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\;C:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\doxygen\bin;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\100\DTS\Binn\;C:\Program Files\TortoiseSVN\bin
Extension DLL chain:
C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos: image 4.0.30319.18052, API 1.0.0, built Sun Apr 21 18:34:50 2013
[path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos.dll]
dbghelp: image 6.8.0004.0, API 7.0.6, built Fri Sep 28 05:27:05 2007
[path: C:\Program Files (x86)\Debugging Tools for Windows\dbghelp.dll]
ext: image 6.8.0004.0, API 1.0.0, built Fri Sep 28 05:26:59 2007
[path: C:\Program Files (x86)\Debugging Tools for Windows\winext\ext.dll]
exts: image 6.8.0004.0, API 1.0.0, built Fri Sep 28 05:26:28 2007
[path: C:\Program Files (x86)\Debugging Tools for Windows\WINXP\exts.dll]
uext: image 6.8.0004.0, API 1.0.0, built Fri Sep 28 05:26:45 2007
[path: C:\Program Files (x86)\Debugging Tools for Windows\winext\uext.dll]
ntsdexts: image 7.0.6440.1, API 1.0.0, built Fri Sep 28 05:45:23 2007
[path: C:\Program Files (x86)\Debugging Tools for Windows\WINXP\ntsdexts.dll]

iKewell的主页 iKewell | 初学一级 | 园豆:177
提问于:2013-12-09 14:11
< >
分享
最佳答案
0

参考命令:

.symfix c:\websymbols 
.reload 
loadby sos clr
~* e !clrstack
收获园豆:50
dudu | 高人七级 |园豆:31003 | 2013-12-09 14:25

还是不行,完整的错误:

Failed to load data access DLL, 0x80004005
Verify that 1) you have a recent build of the debugger (6.2.14 or newer)
2) the file mscordacwks.dll that matches your version of clr.dll is
in the version directory or on the symbol path
3) or, if you are debugging a dump file, verify that the file
mscordacwks_<arch>_<arch>_<version>.dll is on your symbol path.
4) you are debugging on supported cross platform architecture as
the dump file. For example, an ARM dump file must be debugged
on an X86 or an ARM machine; an AMD64 dump file must be
debugged on an AMD64 machine.

You can also run the debugger command .cordll to control the debugger's
load of mscordacwks.dll. .cordll -ve -u -l will do a verbose reload.
If that succeeds, the SOS command should work on retry.

If you are debugging a minidump, you need to make sure that your executable
path is pointing to clr.dll as well.

 

我试过网上所有的办法,都不行

iKewell | 园豆:177 (初学一级) | 2013-12-09 14:35

@Kewell.Tsao: 

试试下面的命令:

!load wow64exts
!sw Switched

参考:Failed to load data access DLL, 0x80004005

dudu | 园豆:31003 (高人七级) | 2013-12-09 14:47

@dudu: 

0:000> !load wow64exts
0:000> !sw Switched
!wow64exts.sw : command invalid on non-64bit target

我的Dump确实是32位的,而且加载的CLR版本也没问题,完全一样

iKewell | 园豆:177 (初学一级) | 2013-12-09 14:55

@dudu: 

 

0:000> lm vm clr
start end module name
667f0000 66e83000 clr (deferred)
Image path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
Image name: clr.dll
Timestamp: Sun Apr 21 18:41:47 2013 (5173C26B)
CheckSum: 0069101A
ImageSize: 00693000
File version: 4.0.30319.18052
Product version: 4.0.30319.18052
File flags: 8 (Mask 3F) Private
File OS: 4 Unknown Win32
File type: 2.0 Dll
File date: 00000000.00000000
Translations: 0409.04b0
CompanyName: Microsoft Corporation
ProductName: Microsoft® .NET Framework
InternalName: clr.dll
OriginalFilename: clr.dll
ProductVersion: 4.0.30319.18052
FileVersion: 4.0.30319.18052 built by: FX45RTMGDR
PrivateBuild: DDBLD321
FileDescription: Microsoft .NET Runtime Common Language Runtime - WorkStation
LegalCopyright: © Microsoft Corporation. All rights reserved.
Comments: Flavor=Retail

 

我调试64位程序正常,调试32位程序就一直有这个问题,我换到32位的笔记本上面,也是同样的问题,是不是我这边的Windbg安装包有问题,你有链接么?

iKewell | 园豆:177 (初学一级) | 2013-12-09 15:18
dudu | 园豆:31003 (高人七级) | 2013-12-09 16:29
其他回答(2)
0

检查下 windbg 版本 和 dump 文件时的操作系统架构模式是否一致?

dump文件: x86

windbg: x64

收获园豆:50
孤剑 | 园豆:328 (菜鸟二级) | 2013-12-11 13:27

我已经解决了,问题是我用的windbg 版本太新了6.8的,我换6.2的就可以了

支持(0) 反对(0) iKewell | 园豆:177 (初学一级) | 2013-12-11 13:28
0

我已经解决了,问题是我用的windbg 版本太新了6.8的,我换6.2的就可以了

iKewell | 园豆:177 (初学一级) | 2013-12-11 13:29
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册