2009-12-17 4 views
13
0:025> !pe 
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 mscorwks.dll is 
       in the version directory 
      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 the same architecture as the dump file. 
       For example, an IA64 dump file must be debugged on an IA64 
       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 mscorwks.dll as well. 

64 비트 서버 2003에서 실행할 corflags.exe/32bit + xxxx.exe는 일반적으로 충돌합니다. 이 덤프를 같은 머신에 설치하고 windbg (x86)을 설치했지만 SOS를 사용할 수는 없습니다. 나는이 문제를 봤지만 대답을 찾을 수 없다. 나는 같은 기계를 사용한다. 왜 windbg이 필요한 것을 찾을 수 없는가?데이터 액세스 DLL을로드하지 못했습니다. 0x80004005

+0

0 : 025> .cordll - 제가 -u -l CLR DLL 상태 : 없음로드 을 시도합니다 0 : 025> .reload ... DBGHELP : WOW64 - 공용 기호 C : \ 문자 \ wow64.pdb \ 8CF620FBD00B4E6B8D103F57D11D79521 \ wow64.pdb ....................... 경고 : mscorjit는 mscoree와 중복됩니다. .............. ................ 경고 : wldap32는 dnsapi를 겹칩니다 ........ 경고 : rssapi32는 dnsapi를 중복합니다 ... 경고 : tapi32는 rasapi32 과 겹칩니다. 경고 : rtutils가 rasman과 겹치다 경고 : setupapi가 winsta와 겹치다 .... DBGHELP : ntdll - 공공 기호 c : \ symbols \ ntdll.pdb \ 7ECDDF018BEF40068136BF66574633B32 \ ntdll.pdb –

+0

당신이 할 수있는 것처럼, 어떤 검색 결과를 찾은 후에 해결책을 찾았습니다. http://www.eggheadcafe.com/software/aspnet/35257986/newbie-question-about-win.aspx – whunmr

답변

14

문제는 올바른 버전의 mscordacwks.dll을 찾을 수 없다는 것입니다. DLL은 런타임과 SOS 사이의 추상화 계층 역할을하므로 런타임 버전과 일치해야합니다. 여기에 문제와 해결책에 대한 훌륭한 글이 있습니다. http://blogs.msdn.com/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx

DLL을 매우주의 깊게 바꾸는 것에 대한 조언을 따르십시오. 잘못하면 문제가 발생하고 오류 메시지가별로 도움이되지 않습니다. .

+14

도움을 많이 주셔서 감사합니다. 마지막으로, 나는이 명령어를 사용했다 : 0 : 025>! load wow64exts 0 : 025>! sw 이렇게하면 32bit 모드 으로 바뀌어 SOS를 사용할 수있다. 다시 한번 큰 감사드립니다 :) –

+0

http://chentiangemalc.wordpress.com/2014/04/16/obtaining-correct-mscordacwks-dll-for-net-windbging/#comment-3569이 문제가 해결되었습니다. – Nick

관련 문제