On 27/12/2011 15:37, AaronP wrote:
Ah, thanks, compiling with -gc works. Though names are mangled and I can
only set breakpoints at line numbers. I thought I could compile with -g
because I've got the latest gdb (woo Arch Linux). Weren't there some
patches that were being included with gdb to make things better for d?
Or was that for gdc?
There are patches for gdb that have been integrated... They only work
with -g though (or when using ldc or gdc). However you need to use -gc
to stop gdb giving fatal errors... It's a bit of a pain. To work around
this, use:
(gdb) set language d
There is a patch that should fix this, it still needs to be merged though:
https://github.com/D-Programming-Language/dmd/pull/526
The issue goes something like this:
* -g emits debug information with D extensions that conflict with
official standards (causing gdb to error). It sets the language to D, so
the gdb D extensions are activated.
* -gc emits debug information without D extensions, and sets the
language to C.
Hopefully the above pull request will be integrated soon, in the mean
time, try set language in gdb, or switch to ldc or gdc.
--
Robert
http://octarineparrot.com/