Когда 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 -> Соответствующий двоичный файл не найден.