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.