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

Después de corflags.exe/32bit + xxxx.exe para ejecutarse en un servidor de 64 bits 2003, el xxxx.exe suele fallar. Tengo este vertedero, en la misma máquina, instalo windbg (x86), pero no puedo usar SOS. Busqué en Google este problema, pero no puedo encontrar respuesta de trabajo. Uso la misma máquina, ¿por qué windbg no puede encontrar lo que necesita?Error al cargar el DLL de acceso a datos, 0x80004005

+0

0: 025> .cordll -ve -u -l CLR DLL de estado: No se carga intenta 0: 025> .Reload ... DBGHELP: wow64 - símbolos públicos c: \ symbols \ wow64.pdb \ 8CF620FBD00B4E6B8D103F57D11D79521 \ wow64.pdb ....................... ADVERTENCIA: mscorjit se superpone a mscoree .............. ................ ADVERTENCIA: wldap32 se superpone dnsapi ........ ..ADVERTENCIA: rasapi32 se superpone dnsapi ... ADVERTENCIA: tapi32 se superpone rasapi32 .ADVERTENCIA : rtutils se superpone rasman .............. ADVERTENCIA: setupapi se superpone winsta .... DBGHELP: ntdll - símbolos públicos c: \ symbols \ ntdll.pdb \ 7ECDDF018BEF40068136BF66574633B32 \ ntdll.pdb –

+0

como lo hace, después de buscar en Google encontré una solución. http://www.eggheadcafe.com/software/aspnet/35257986/newbie-question-about-win.aspx – whunmr

Respuesta

14

El problema es que no se puede encontrar la versión correcta de mscordacwks.dll. La DLL actúa como una capa de abstracción entre el tiempo de ejecución y SOS y, por lo tanto, debe corresponderse con la versión del tiempo de ejecución. Hay una excelente redacción del problema y su solución aquí http://blogs.msdn.com/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx

Asegúrese de seguir el consejo sobre el cambio de nombre del archivo DLL con mucho cuidado, porque si lo hace mal no funciona y los mensajes de error no son muy útiles imo .

+14

Muchas gracias por su ayuda. Finalmente, utilizo este comando ayudado: 0: 025>! Load wow64exts 0: 025>! Sw Cambié al modo de 32 bits después de hacer esto, puedo usar SOS. Muchas gracias de nuevo :) –

+0

http://chentiangemalc.wordpress.com/2014/04/16/obtaining-correct-mscordacwks-dll-for-net-windbging/#comment-3569 esto solucionó mi problema – Nick

Cuestiones relacionadas