2009-12-17 3 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. 

Dopo corflags.exe/32 bit + xxxx.exe per l'esecuzione su un server 64 bit 2003, il xxxx.exe di solito si blocca. Ho ottenuto questo dump, sulla stessa macchina, installa windbg (x86), ma non posso usare SOS. Ho cercato su Google questo problema, ma non riesco a trovare una risposta al lavoro. Io uso la stessa macchina, perché windbg non riesce a trovare ciò di cui ha bisogno?Impossibile caricare l'accesso ai dati DLL, 0x80004005

+0

0: 025> .cordll ve -u -l CLR DLL Stato: Nessun carico tenta 0: 025> .reload ... DbgHelp: WOW64 - simboli pubblici c: \ symbols \ wow64.pdb \ 8CF620FBD00B4E6B8D103F57D11D79521 \ wow64.pdb ....................... ATTENZIONE: mscorjit si sovrappone a mscoree .............. ................ ATTENZIONE: WLDAP32 sovrappone DnsApi ........ ..WARNING: rasapi32 sovrappone DnsApi ... ATTENZIONE: tapi32 sovrappone rasapi32 .warning : rtutils si sovrappone a rasman .............. ATTENZIONE: setupapi si sovrappone winsta .... DBGHELP: ntdll - simboli pubblici c: \ symbols \ ntdll.pdb \ 7ECDDF018BEF40068136BF66574633B32 \ ntdll.pdb –

+0

come si fa, dopo aver cercato su google ho trovato una soluzione. http://www.eggheadcafe.com/software/aspnet/35257986/newbie-question-about-win.aspx – whunmr

risposta

14

Il problema è che non è possibile trovare la versione corretta di mscordacwks.dll. La DLL agisce come uno strato di astrazione tra il runtime e SOS e quindi deve corrispondere alla versione del runtime. C'è un'eccellente descrizione del problema e la sua soluzione qui http://blogs.msdn.com/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx

Assicurati di seguire il consiglio di rinominare la DLL con molta attenzione, perché se hai sbagliato non funziona e i messaggi di errore non sono molto utili imo .

+14

Grazie mille per il vostro aiuto. Infine, utilizzo questo comando aiutato: 0: 025>! Load wow64exts 0: 025>! Sw Passato alla modalità 32 bit dopo averlo fatto, posso utilizzare SOS. Grazie mille :) –

+0

http://chentiangemalc.wordpress.com/2014/04/16/obtaining-correct-mscordacwks-dll-for-net-windbging/#comment-3569 questo ha risolto il problema – Nick