Это довольно просто сделать с WinDbg, если у вас есть аварийный дамп. Загрузите дамп в WinDbg, загрузите sos и выполните команду printexception.
>.load sos
>!printexception
Это скажет вам исключение, а также укажет на внутреннее исключение. Вывод будет примерно таким:
0:000> !printexception
Exception object: 0135b340
Exception type: System.ApplicationException
Message: GetAverage failed
InnerException: System.IndexOutOfRangeException, use !PrintException 01358394 to see more
<stack trace follows>
Если у вас еще нет дампа памяти, вы можете создать его с помощью adplus (поставляется с WinDbg).
>adplus -crash -o<dump location> -quiet -pn<name of process>
Если вы предпочитаете использовать PID, используйте параметр -p
.