Я знаю, что об этом спрашивали много раз, но я прочитал их все и не смог решить проблему.
По сути, у меня есть дамп памяти процесса IIS 7.0 x64 w3wp.exe, работающего как веб-роль в Azure. У меня есть несколько дампов, и я не могу загрузить ни один из них в Windbg или SciTech .Net Memory Profiler. Для обоих проблема, похоже, заключается в поиске правильной mscordacwks.dll.
Я получил mscordacwks.dll для x64 и x86 с машины, и это не смогло загрузить ни одну из них.
Поэтому, когда я хочу увидеть управляемые потоки и т. д. в Windbg, я получаю знакомую ошибку:
0:000> !threads
The version of SOS does not match the version of CLR you are debugging. Please
load the matching version of SOS for the version of CLR you are debugging.
CLR Version: 4.0.30319.551
SOS Version: 4.0.30319.17929
CLRDLL: Unable to get version info for 'D:\Windows\Microsoft.NET\Framework64\v4.0.30319\mscordacwks.dll', Win32 error 0n87
DBGHELP: C:\Program Files\Debugging Tools for Windows (x64)\sym\mscordacwks_AMD64_AMD64_4.0.30319.551.dll\4F191DB4964000\mscordacwks_AMD64_AMD64_4.0.30319.551.dll - OK
CLRDLL: Loaded DLL C:\Program Files\Debugging Tools for Windows (x64)\sym\mscordacwks_AMD64_AMD64_4.0.30319.551.dll\4F191DB4964000\mscordacwks_AMD64_AMD64_4.0.30319.551.dll
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 clr.dll is
in the version directory or on the symbol path
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 supported cross platform architecture as
the dump file. For example, an ARM dump file must be debugged
on an X86 or an ARM machine; an AMD64 dump file must be
debugged on an AMD64 machine.
Итак, я вижу здесь 2 странности:
- Windows развернута на диске D:\ в Azure (может ли это вызвать проблему?)
- Версия CLR: 4.0.30319.551, но версия SOS: 4.0.30319.17929
Так может ли это быть версия SOS 17929? mscordacwks.dll на сервере определенно 551.
Я пробежался по каждой командной строке, которую вы только могли себе представить, но не решил проблему.
заранее спасибо