Мы находимся в Windows, и мы хотим получить дамп аварийных сообщений (возможно, используя MiniDumpWriteDump) для всех сценариев, где наше приложение неожиданно завершается.
До сих пор мы определили и установили следующее:
-
SetUnhandledExceptionFilterдля необработанного исключения (Win32, а также "обычных" С++ файлов.) -
_set_invalid_parameter_handlerдля обработки неверных аргументов CRT -
_set_abort_behaviorплюс обработчикSIGABRTдля учета вызововabort()
Есть ли что-то, что мы пропустили? (Modulo некоторый код, не легитимно вызывающий ExitProcess, TerminateProcess или один из вариантов exit.)
Отмечу, что этот вопрос здесь ортогонален тому, как получается свалка. Например, если вам нужен аварийный дамп в случае abort, вы всегда должны использовать _set_abort_behaviour, потому что иначе прервите только exit s.
Также я хочу отметить, что в Windows7 +, не устанавливая SetUHEF и просто устанавливая "correct" параметры дампа WER в реестре часто является жизнеспособным способом.