Не удалось загрузить DLL для доступа к данным, 0x80004005
Вопрос
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 не может найти то, что ему нужно?
Решение
Проблема в том, что правильная версия 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.