Repository: GitHub
Example, intentional print of stack trace:
void function() { std::cout << utils::stacktrace{} << '\n'; }
Using a signal handler, dumping stack trace on segfault:
extern "C" void sig_handler(int) { std::cout << "SIGGEGV catched\n"; std::cout << utils::stacktrace{} << '\n'; exit(1); } int main(int, char **) { signal(SIGSEGV, sig_handler); // ... }