Boost logo

Boost :

Subject: Re: [boost] Is there interest in a collection of call stack utilities?
From: Alexander Lamaison (awl03_at_[hidden])
Date: 2013-03-03 07:14:30

Mathias Gaunard <mathias.gaunard_at_[hidden]> writes:

> On 03/03/13 10:54, Artyom Beilis wrote:
>> You can also utilize function like backtrace_symbols. AFAIR not
>> every platform has
>> dladdr (Solaris if I recall correctly)
> backtrace_symbols uses dladdr, and dladdr requires to link with -ldl,
> and is very limited in terms of what it sees. Also no debugging
> information is available.
> The best way to get a list of symbols on Linux is unfortunately to
> extract the information from the executable and shared library
> binaries, as libbfd does.
> I think the right approach is to separate the backtrace proper (list
> of addresses) from the mapping to names. Therefore 'backtrace' should
> be used, but not 'backtrace_symbols'.
> 'backtrace_symbols' is pretty bad anyway, you can do something better
> by calling dladdr manually.
> (Solaris, and any other operating system with ELF shared object
> support, supports dladdr)
>> Generally it is very interesting topic and very useful stuff (from
>> my experience
>> in deploy with CppCMS).
> While it is interesting, I have not found it to be that useful in practice.
> The debugger already does all of this better that you could ever do
> yourself.
> It is probably a better idea to integrate your app with a debugger
> than to rewrite a debugger inside your app.

Surely the idea is to get back-traces from deployed software? You can't
use your debugger there.


Swish - Easy SFTP for Windows Explorer (

Boost list run by bdawes at, gregod at, cpdaniel at, john at