Настройка пути к изображению модуля CLR в Windbg - PullRequest
2 голосов
/ 11 марта 2011

Когда я запускаю 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 и если да, то как?

1 Ответ

3 голосов
/ 11 марта 2011

На самом деле это звучит как проблема mscordacwks. Посмотрите на http://blogs.msdn.com/b/dougste/archive/2009/02/18/failed-to-load-data-access-dll-0x80004005-or-what-is-mscordacwks-dll.aspx для отличного руководства по решению этой проблемы.

...