![]() |
ATLAS Offline Software
|
Generate stack trace backs from a caught exception — collector module. More...
#include <dlfcn.h>#include <execinfo.h>#include <cstdio>#include <typeinfo>#include <utility>#include <algorithm>#include <exception>#include "CxxUtils/checker_macros.h"Go to the source code of this file.
Classes | |
| struct | CxxUtils::extrace_init |
Namespaces | |
| namespace | CxxUtils |
Typedefs | |
| typedef void | throwfn(void *, void *, void(*dest) (void *)) |
Functions | |
| void | extrace_force_libstd_link () |
| int | exctrace_get_last_trace (int max_depth, void *trace[]) |
| void | __cxa_throw (void *thrown_exception, void *tinfo, void(*dest)(void *)) |
Variables | |
| static const int | bt_depth = 100 |
| static thread_local int | exctrace_last_depth = 0 |
| static thread_local void * | exctrace_last_trace [bt_depth] |
| static throwfn * | old_throw |
| static extrace_init | CxxUtils::initer |
Generate stack trace backs from a caught exception — collector module.
When preloaded, this module hooks into the __cxa_throw function used by the abi to throw exceptions so that it records stack back traces in static variables. These can later be accessed with CxxUtils::exctrace.
Definition in file exctrace_collector.cxx.
| typedef void throwfn(void *, void *, void(*dest)(void *)) |
Definition at line 36 of file exctrace_collector.cxx.
| void __cxa_throw | ( | void * | thrown_exception, |
| void * | tinfo, | ||
| void(* | dest )(void *) ) |
Definition at line 63 of file exctrace_collector.cxx.
| int exctrace_get_last_trace | ( | int | max_depth, |
| void * | trace[] ) |
Definition at line 52 of file exctrace_collector.cxx.
| void extrace_force_libstd_link | ( | ) |
Definition at line 43 of file exctrace_collector.cxx.
|
static |
Definition at line 29 of file exctrace_collector.cxx.
|
static |
Definition at line 32 of file exctrace_collector.cxx.
|
static |
Definition at line 33 of file exctrace_collector.cxx.
|
static |
Definition at line 37 of file exctrace_collector.cxx.