|
Boost : |
From: Schalk_Cronje_at_[hidden]
Date: 2007-04-23 05:26:02
-----Original Message-----
From: boost-bounces_at_[hidden]
[mailto:boost-bounces_at_[hidden]] On Behalf Of Martin Wille
> A stacktrace is helpful even without the demangling. In the worst
case, one would have to
> run c++filt manually, which isn't that bad in a debugging scenario.
There is no need to do that. Any platform that supports the Common
Vendor ABI allows this via ::abi::__cxa_demangle. On gcc versions
earlier than 3.x there used to be a function 'cplus_demangle'. I don't
know whether that was supported on all OS's though.
A long time ago, when this ML was still hosted on Yahoo, I uploaded
example code for Solaris & Linux to do stack back traces (in mangled
form). Steve Shammah also uploaded a version for Win32.
http://tech.groups.yahoo.com/group/boost/files/StackTraces/
On a side-note, but related if you need to obtain a stack trace at the
point of an exception, the CVABI also allow getting hold of the current
exception type within a catch(...) block using
::abi::__cxa_current_exception_type.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk