Backtraces on Linux 64-bit

Martin Nowak code at dawg.eu
Wed Oct 30 13:14:29 PDT 2013


On 10/28/2013 11:43 AM, aldanor wrote:
> ./test(pure @safe immutable(char)[]
> std.exception.enforce!(immutable(char)[]).enforce(immutable(char)[],
> lazy const(char)[], immutable(char)[], ulong)+0x6a) [0x50a85e]
> ./test(_Dmain+0x17f) [0x4a188b]
> ./test(extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int
> function(char[][])*).void runMain()+0x18) [0x529740]
> ./test(extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int
> function(char[][])*).void tryExec(scope void delegate())+0x2a) [0x529272]
> ./test(extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int
> function(char[][])*).void runAll()+0x40) [0x529790]
> ./test(extern (C) int rt.dmain2._d_run_main(int, char**, extern (C) int
> function(char[][])*).void tryExec(scope void delegate())+0x2a) [0x529272]
> ./oracle(_d_run_main+0x1ae) [0x52922e]
> ./test(main+0x17) [0x52907b]
> /lib64/libc.so.6(__libc_start_main+0xe6) [0x7f87dd21dc36]
>
Apparently you have a stacktrace so what exactly is the problem?

> Note: I have the -L--export-dynamic flag enabled in dmd.conf, but it
> doesn't seem to do much; I'm running dmd64 v2.063.2.
It's really annoying that we rely on --export-dynamic for backtraces.
Exporting symbols from the executable can have unwanted side effects.
But unless someone writes a backtrace handler that understands DWARF 
we're stuck.


More information about the Digitalmars-d mailing list