Похоже, ure.dll
был выгружен, и вызов NlsAnsiToUnicode MultiByteToWideChar (), ссылающийся на него, не удался. Вы можете запустить .symfix
до !analyze -v
, чтобы подтвердить это.
Это DLL, которую вы импортируете? Если нет, у вас есть повреждение памяти. В противном случае ошибка, вероятно, в этой DLL. Вы используете P / Invoke для его импорта?
Да, выгруженная информация DLL была повреждена. Как вы можете догадаться, это .NET culture.dll
, и Windbg считывает «культовую» часть этого как метку времени и контрольную сумму. Попробуйте перезапустить и сделать следующее:
.symfix
sxe ud
g
и когда точка останова достигает:
kb
(Это говорит о том, что Windbg должен работать до тех пор, пока DLL не будет выгружена, а затем выгрузить стек)
Запустите немного, чтобы модуль мог выгрузиться, и выполните следующую команду. Затем дайте Windbg работать, пока не получите исключение, и снова выполните эту команду для сравнения:
db ntdll!RtlpUnloadEventTrace
(Это начало таблицы выгруженных модулей, которая повреждена.)