Когда я запускаю 64-разрядную версию Windbg на 64-разрядной машине Win7, он показывает путь к изображению модуля clr.dll
как 32-разрядную версию платформы, а не 64-разрядную.
Есть ли способ указать путь к изображению для модуля clr.dll
в Windbg? Должен ли Windbg 64-bit, работающий на 64-битном компьютере, получать clr.dll
из каталога Framework64?
<code>0:000> lmvm clr
...
Loaded symbol image file: clr.dll
Image path: C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
У меня есть 64-битный дамп w3wp.exe, на котором я не могу использовать SOS, и я полагаю, что это из-за несовместимых сред, вызванных этим 32-битным образом clr dll.
0:000> .loadby sos clr
The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos) failed, Win32 error 0n193
"%1 is not a valid Win32 application."
Еще раз, дамп с 64-битного сервера, я дважды проверил, что он имеет ту же версию CLR, что и моя 64-битная машина Win7, на которой я отлаживаю, и я использую 64-битную Windbg.
Microsoft (R) Windows Debugger Version 6.12.0002.633 AMD64
...
Windows 7 Version 7600 MP (4 procs) Free x64
Когда я запускаю 32-битный Windbg, он прекрасно загружает SOS, но затем выдает ошибки при попытке запустить !threads
с вездесущей Failed to load data access DLL, 0x80004005
ошибкой.
Можно ли установить изображение CLR и если да, то как?