С
ModLoad: 00000000`6dda0000 00000000`6ddf2000 C:\WINDOWS\System32\wow64.dll
мы видим, что это 32-битный процесс, поэтому вам нужно 32-битный SOS. 32-битный SOS работает только с 32-битным WinDbg.
Для загрузки расширений есть 2 команды. Один - .loadby
, другой - .load
. Для .loadby
используйте относительный путь, для .load
используйте полный путь.
Для .loadby
существует 5 вариантов:
.loadby sos mscorsvr
.loadby sos mscorwks
.loadby sos clr
.loadby sos coreclr
.loadby sos <somethingelse>
, где mscorsvr
действительно очень старый (.NET CLR 1, версия сервера), mscorwks
довольно старый (.NET CLR 1 и 2, но все еще существует), clr
распространен сегодня (.NET CLR 4) coreclr
может увеличиваться (UWP и Silverlight), а <somethingelse>
раздражает (посмотрите на lm
и найдите что-то похожее, но с прикрепленным номером).
Основная проблема заключается в том, что вы пытаетесь загрузить SOS, когда среда выполнения .NET еще не загружена. Дождитесь загрузки .NET, и тогда команда сработает. Это, конечно, невозможно в начальной точке останова.
Используйте
sxe ld clr
sxe ld mscorwks
sxe ld coreclr
g
чтобы приложение работало, пока не станет доступен .NET