DWARF output, type of char[]?

Cristian Vlasceanu cristian at zerobugs.org
Tue Apr 3 17:17:07 PDT 2007


Frits van Bommel Wrote:

> Cristian Vlasceanu wrote:
> > I have verified this, with 1.010, ulong and char[] are indistinguishable in the DWARF.
> > 
> > My personal preference is to have it represented as a struct.
> 
> A struct doesn't tell you how much of the data at .ptr is valid.
> IMHO, for '-g' (native-D debugging info) it should be a special type. 
> (Assuming DWARF supports language-specific types, is that the case?) 
> That way, D-aware debuggers can for example pretty-print char[] strings 
> as regular strings instead of (size_t, char*) pairs.
> For '-gc' (pretends-to-be-C debugging info) a struct should probably be 
> used though.


How about adding a "DWARF vendor extension":

add a new tag, DW_TAG_array.
Array "classes" will have a DW_TAG_array corresponding entry in the debug info,
each with children entries such as:
    DW_AT_type // DWARF std, points to the element type
    ...                 // TBD    


array instances will be represented by entries that have children of the following types:
    DW_AT_capacity    // D extension
    DW_AT_size          // DWARF standard
    DW_AT_value        // address of 1st elem, DWARF standard
    DW_AT_type          // DWARF std, would point to an entry of DW_TAG_array type

thoughts?




More information about the Digitalmars-d-debugger mailing list