May 11, 2006
Walter Bright schrieb am 2006-05-11:
> Thomas Kuehne wrote:
>
>> Walter Bright schrieb am 2006-05-10:
>>> Adds partial symbolic debug info support for Linux.
>> 
>> While you are at it:
>> How about adding line number debug info for inline assembler code?
>
> I'll add it to the queue!

Thanks


May 12, 2006
Walter Bright wrote:

> Adds partial symbolic debug info support for Linux.
> 
> (Doesn't look like much, but it's a lot of code to support this!)
> 
> Doesn't yet do the internals of structs or classes.
> 
> http://www.digitalmars.com/d/changelog.html

Thank you thank you thank you thank you.

Supporting struct and class internals would be great, but I guess we'll take this some step at a time...

How about strings?  GDB seems to detect them as "unsigned long long"... Once you get struct internals working, you should probably make dynamic arrays structs, but until then, why not make strings appear as char*?  They should then work with GDB, since DMD puts a null character in them.

If there's anything that GDB doesn't quite support, but DWARF seems to, then let me know... No promises, but I'll poke around GDB and (if sucessful) add stuff to the patch.  It's very possible that there's stuff for dealing with classes and such in DWARF and GDB, but won't currently work with GDB since GDB treats D code like C code.  I can probably fix at least some of that.

~John Demme
May 12, 2006
John Demme wrote:
> Thank you thank you thank you thank you.

You're welcome!

> Supporting struct and class internals would be great, but I guess we'll take
> this some step at a time...

Yes.

> How about strings?  GDB seems to detect them as "unsigned long long"... Once you get struct internals working, you should probably make dynamic
> arrays structs, but until then, why not make strings appear as char*?  They
> should then work with GDB, since DMD puts a null character in them.

The trouble is that strings are arrays. Arrays are a 64 bit type. If dmd puts it out as a struct, then gdb wrongly assumes that it's returned like a struct, instead of in the EDX:EAX register pair. (windbg has the same problem)

> If there's anything that GDB doesn't quite support, but DWARF seems to, then
> let me know... No promises, but I'll poke around GDB and (if sucessful) add
> stuff to the patch.  It's very possible that there's stuff for dealing with
> classes and such in DWARF and GDB, but won't currently work with GDB since
> GDB treats D code like C code.  I can probably fix at least some of that.

The number one thing would be to support the D array type. A DW_TAG_dynamic_array_type would work.

The number two thing would be to support register variables in register pairs. Although you can specify that to codeview, there seems no way to do it in dwarf.
1 2
Next ›   Last »