BDE 4.14.0 Production release
|
Provide functions for resolving a stack trace using dladdr
.
dladdr
This component provides a class, balst::Resolver<Dladdr>
, that, given a vector of balst::StackTraceFrame
objects that have only their address
fields set, resolves some of the other fields in those frames. This resolver will work for any platform that supports the dladdr
function (e.g., Darwin and Linux). Note that dladdr
is not a standard system function, but documentation is frequently available via man dladdr
on supported platforms such as Linux and Apple Mac OSX.
Note that this resolving implementation is currently used for the operating systems based on the Mach kernel, in particular Apple Mac OSX.
In addition to dladdr
, this code uses the abi::__cxa_demangle
function supplied by the gnu and clang compilers for demangling symbol names. Documentation can be found:
http://gcc.gnu.org/onlinedocs/libstdc++/manual/ext_demangling.html
This component is an implementation detail of balst
and is not intended for direct client use. It is subject to change without notice. As such, a usage example is not provided.