stack trace on linux amd64 ?

Johannes Pfau nospam at example.com
Fri Jun 28 13:00:51 PDT 2013


Am Fri, 28 Jun 2013 11:12:25 -0700
schrieb Sean Kelly <sean at invisibleduck.org>:

> If I remember correctly, the issue there was that the runtime would
> need to open the executable or map file and parse it, and it seemed a
> lot more straightforward to simply make an API call.  But if you're
> inclined to submit a pull request...

In the meantime the GCC guys have developed libbacktrace [1] for GCC 4.8
which does exactly that: map the executable, parse it and use the dwarf
debug info and all that without malloc. We're currently integrating
this into GDC [2].

Unfortunately it's not as easy to integrate into dmd: It uses libgcc,
the libbacktrace library is not installed in the target system (it's
only available at gcc build time, we then just link it statically into
druntime) and you need a more advanced build system to check for
BACKTRACE_SUPPORTED in C headers.

[1] https://github.com/mirrors/gcc/tree/master/libbacktrace
[2] https://github.com/D-Programming-GDC/GDC/pull/65


More information about the Digitalmars-d mailing list