Не удалось загрузить DLL доступа к данным, 0x80004005 - PullRequest
13 голосов
/ 17 декабря 2009
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.

После запуска corflags.exe / 32bit + xxxx.exe на 64-битном сервере 2003, обычно происходит сбой xxxx.exe. Я получил этот дамп, на той же машине, установил windbg (x86), но я не могу использовать SOS. Я погуглил эту проблему, но не могу найти ответ на работу. Я использую ту же машину, почему windbg не может найти то, что ей нужно?

1 Ответ

14 голосов
/ 17 декабря 2009

Проблема в том, что не может быть найдена правильная версия 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 очень внимательно, потому что, если вы ошиблись, она не работает и сообщения об ошибках не очень полезны, imo.

...