Этот вопрос задан раньше, и были ответы на конкретные окна, но не удовлетворительный ответ gcc. Я могу использовать set_terminate()
для установки функции, которая будет вызываться (вместо terminate()
), когда генерируется необработанное исключение. Я знаю, как использовать библиотеку backtrace для создания трассировки стека из заданной точки в программе. Тем не менее, это не поможет, когда вызывается моя замена окончания, так как в этот момент стопка была размотана.
Тем не менее, если я просто разрешаю программе abort()
, она создаст ядро-дамп, который содержит полную информацию о стеке от точки, в которой было выбрано исключение. Таким образом, информация есть, но есть ли программный способ ее получить, например, чтобы ее можно было регистрировать, вместо того, чтобы анализировать основной файл?