Если исключение не найдено, автоматически вызывается специальная библиотечная функция terminate()
.Завершение на самом деле является указателем на функцию, а значением по умолчанию является функция библиотеки Standard C abort()
.Вы можете иметь возможность установить точку останова при вызове функции abort()
и определить оттуда местоположение необработанного исключения.
break abort
...
run
...
bt
Вы можете установить собственную функцию terminate()
, используя std::set_terminate()
.Вы должны быть в состоянии установить точку останова на вашей функции завершения в GDB.Вы можете иметь возможность генерировать обратную трассировку стека из вашей функции terminate()
, и эта обратная трассировка может помочь в определении местоположенияисключение.Дополнительная информация предоставляется здесь .