Когда ngen выполняется в приложении, управляемом .NET, во время установки и из отчета об ошибках Windows для приложения извлекается аварийный дамп, как его использовать для просмотра трассировки стека, переменных и т. Д .?
Вот некоторая предыстория, связанная с вопросом: у нас есть приложение .NET, которое генерируется при установке. Когда происходит сбой из-за необработанного исключения .NET, сбой помещается в отчеты об ошибках Windows, и с этого момента я смог загрузить файл minidump.mdmp с winqual.microsoft.com.
Я поместил minidump.mdmp в папку, содержащую файлы .dbg для сборки приложения, которая упала, и дважды щелкнул minidump.mdmp, чтобы открыть его в новом экземпляре VS2008 SP1. Моя трассировка стека выглядит так:
kernel32.dll! RaiseException () + 0x3d байт
mscorwks.dll! RaiseTheExceptionInternalOnly () + 0x295 байт
mscorwks.dll! JIT_Throw () + 0x130 байт
MyApp.ni.exe! 000007feee74c84c ()
[Указанные ниже кадры могут быть неправильными и / или отсутствующими, символы не загружены для MyApp.ni.exe]
0000000070000d5e ()
MyApp.ni.exe! 000007feee611000 ()
000000000300bf78 ()
000000000300bf60 ()
В окне Модули указано, что символы загружаются для DLL-файлов ОС и .NET, но для модулей приложения я получаю следующее:
MyApp.exe -> В файле символов нет собственных символов.
MyApp.ni.exe -> Бинарный файл не найден.
MyAppsLibrary.ni.dll -> Не найдено соответствующих двоичных файлов.