C++ Boost Stacktrace

Da Andreabont's Wiki.

Questa libreria delle BOOST permette di stampare lo stacktrace del punto desiderato durante l'esecuzione del programma.

Codice

#include <iostream>
#include <boost/stacktrace.hpp>


void myFunction(int i) {
    std::cout << boost::stacktrace::stacktrace() << std::endl;
}

int main() {
    myFunction(42);
}

Stamperà qualcosa di simile:

 0# myFunction(int) in ./a.out
 1# main in ./a.out
 2# __libc_start_main in /lib64/libc.so.6
 3# _start in ./a.out

Compilazione

Questa libreria richiede il linking di diverse librerie esterne.

g++ -rdynamic [-I/path_install/include] [-L/path_install/lib64] <file.cpp> -lboost_stacktrace_basic -ldl