If an exception is uncaught, the special library function terminate()
is automatically called. Terminate is actually a pointer to a function and default value is the Standard C library function abort()
. You may be able to set a breakpoint on the call to the abort()
function and identify the location of the uncaught exception from there.
break abort
...
run
...
bt
You can install your own terminate()
function by using std::set_terminate()
. You should be able to set a breakpoint on your terminate function in gdb. You may be able to generate a stack backtrace from your terminate()
function and this backtrace may help in identifying the location of the exception. Additional details are provided here.