Even without a crash, you can use SegFaultHandler to find out where a problem routine is being invoked by calling SegFaultHandler::instance().printStackTrace().
Public Member Functions | |
void | printStackTrace () const |
this method does not use any more memory, so it can be called safely even after a segmentation fault. | |
void | getStackTrace (std::vector< std::string > *stack_trace) const |
WARNING! this function uses memory, so it CAN NOT be called after a bus error or segmentation fault. | |
Static Public Member Functions | |
static const SegFaultHandler & | instance () |
the first time this is called, all the handlers are set up |
void code::SegFaultHandler::getStackTrace | ( | std::vector< std::string > * | stack_trace | ) | const |
WARNING! this function uses memory, so it CAN NOT be called after a bus error or segmentation fault.
static const SegFaultHandler& code::SegFaultHandler::instance | ( | ) | [static] |
the first time this is called, all the handlers are set up
void code::SegFaultHandler::printStackTrace | ( | ) | const |
this method does not use any more memory, so it can be called safely even after a segmentation fault.