C++ exception (and generic) stack trace debug library
Libcsdbg is a C++ exception stack tracer. When an exception is thrown, caught and handled, libcsdbg offers the tools to create and process the exception stack trace, the path the exception has propagated up the call stack, unwinding it, up to the section were it was handled. The traces are detailed with demangled function signatures and additional addr2line info (the source code file and line that each function was called). Libcsdbg will perform flawlessly with single and multi-threaded (or multi-process) programs, with any dynamically linked shared object (DSO - Dynamic Shared Object) and with any statically linked library. Additionally, libcsdbg helps the developer/tester create sophisticated stack traces of any thread, at any given moment during a process execution, as a snapshot of the runtime call graph. This is very useful in cases of fatal errors, reception of terminating signals or process abortion/termination (such as segmentation faults). libcsdbg can use all the well-known objective code file formats (a.out, elf, coff, ecoff, etc.) and can easily be used as the base for your own instrumentation code. libcsdbg transparently loads the symbol tables of the chosen dynamic libraries and of the executable, demangles function symbols to complete signatures, and binds function names to runtime addresses (even for the DSO symbols).
released on 6 January 2014