segfaults

Bernard Helyer b.helyer at gmail.com
Mon Feb 22 23:18:33 PST 2010


On 23/02/10 15:14, Ellery Newcomer wrote:
> Is there any decent way to figure out where segfaults are coming from?
>
> e.g. 200k lines of bad code converted from java
>
> I tried gdb, and it didn't seem to work too well.
>
> Die: DW_TAG_type_unit (abbrev 3, offset 0x6d)
> parent at offset: 0xb
> has children: FALSE
> attributes:
> DW_AT_byte_size (DW_FORM_data1) constant: 8
> Dwarf Error: Missing children for type unit [in module
> /home/ellery/dxl.exe]
> Missing separate debuginfos, use: debuginfo-install glibc-2.11.1-1.i686
>
>
> And I'm not proficient with gdb.
>
> dmd 1.056 / tango .99999 or whatever
>
> fedora linux

It's a bit hit and miss with DMD, GDB, and debugging I'm afraid (I have 
no real experience with D1.X and Tango, but I assume it is the same 
deal). The debugging information put out by DMD seems to be in error, 
coupled with a possible bug in GDB). Sometimes a different debug switch 
(-g vs -gc) can help, as can (as in my current project) omitting it 
altogether.

So once you compile your file into an executable run

gdb exename

then

run

then, once you hit a SIGSEGV,

bt

And see what luck you have with the switches and their combinations.

Good luck!


-Bernard.


More information about the Digitalmars-d-learn mailing list