WinDbg не загружает файл SOS.dll

Мне нужно отлаживать 32-разрядные приложения с помощью управляемого WinDbg, однако WinDbg упорно отказывается загрузить расширение SOS.dll. После многих поисковых запросов в Интернете и вещей я был в тупике. У меня есть опыт отладки неуправляемого кода с помощью WinDbg, но это моя первая попытка с управляемым.

Когда я запускаю WinDbg для загрузки SOS.dll по умолчанию, он дает эту ошибку:

sxe ld clr                <- I wait until the clr has loaded
.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."
Please check your debugger configuration and/or network access.

И если я попытаюсь указать SOS.dll, я получаю другую ошибку:

.load C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos clr

The call to LoadLibrary(C:\Windows\Microsoft.NET\Framework\v4.0.30319\sos clr) failed, Win32 error 0n126
    "The specified module could not be found."
Please check your debugger configuration and/or network access.

Моя настройка - VM-to-VM через последовательное соединение, и обе виртуальные машины - это Windows Server 2008 R2 SP1. Средства отладки для Windows (x64) установлены в обеих виртуальных машинах.

ПРИМЕЧАНИЕ.. Появляется установка x86 Debugging Tools на процессоре x64, как предлагается в этом решении не представляется возможным (и не требуется) в более новой ОС Windows, поэтому, пожалуйста, не предлагайте этого. Установщик выходит из строя с ошибкой.

Заранее благодарим за ваши идеи.

Ответы

Ответ 1

Можно установить как версию x86, так и x64 WinDbg на том же компьютере, и если вы отлаживаете 32-битное .NET-приложение, вы должны использовать x86-версию WinDbg/SOS. В сообщении об ошибке сообщается, что вы пытаетесь загрузить неправильную версию SOS для битности приложения.

Здесь есть дополнительные .

Ответ 2

По умолчанию установщик, похоже, помещает в систему как 32-разрядные, так и 64-разрядные версии WinDbg без подсказки - возможно ли, что вы используете неправильный?

Найдите каталог "x86" в каталоге, где установлен WinDbg, и запустите содержащуюся там версию windbg.exe.