This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: <incomplete type>


On Mon, 2005-08-29 at 11:31 -0700, Jim Blandy wrote:
> The leftmost number in <angle brackets> is the nesting level of that
> die; so if the entry for the die after the first one you listed starts
> with <2>, then it's a child of the <1> die.  There should be
> DW_TAG_member(?) dies.

Ah, now I can see some sense in these dies.  Looking in the actual
executable I can see this...

 <1><c74a688>: Abbrev Number: 114 (DW_TAG_structure_type)
     DW_AT_sibling     : <c74aadf>
     DW_AT_name        : (indirect string, offset: 0x4ff824): Waypoint
     DW_AT_byte_size   : 92
     DW_AT_decl_file   : 60
     DW_AT_decl_line   : 28
     DW_AT_containing_type: <c74b7e1>
 <2><c74a698>: Abbrev Number: 54 (DW_TAG_inheritance)
     DW_AT_type        : <c74abb4>
     DW_AT_data_member_location: 2 byte block: 23 0
(DW_OP_plus_uconst: 0)
     DW_AT_accessibility: 1     (public)
 <2><c74a6a1>: Abbrev Number: 56 (DW_TAG_variable)
     DW_AT_name        : (indirect string, offset: 0x837e8): typeName_
     DW_AT_decl_file   : 1
     DW_AT_decl_line   : 17
     DW_AT_MIPS_linkage_name: (indirect string, offset: 0x8e402b):
_ZN3Soi8Waypoint9typeName_E
     DW_AT_type        : <c74b7af>
     DW_AT_external    : 1
     DW_AT_declaration : 1
 <2><c74a6b2>: Abbrev Number: 47 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x7724ea): wpname_
     DW_AT_decl_file   : 60
     DW_AT_decl_line   : 84
     DW_AT_type        : <c74b7b4>
     DW_AT_data_member_location: 2 byte block: 23 4
(DW_OP_plus_uconst: 4)
     DW_AT_accessibility: 3     (private)
 <2><c74a6c1>: Abbrev Number: 47 (DW_TAG_member)
     DW_AT_name        : (indirect string, offset: 0x8e4084): wpll_
     DW_AT_decl_file   : 60
     DW_AT_decl_line   : 85
     DW_AT_type        : <c748414>
     DW_AT_data_member_location: 2 byte block: 23 4c
(DW_OP_plus_uconst: 76)
     DW_AT_accessibility: 3     (private)
 <2><c74a6d0>: Abbrev Number: 48 (DW_TAG_subprogram)
[It then trails off into a long list of methods and their arguments]


So, it appears to list the members of Waypoint.  Is this enough info for
gdb to not say incomplete type?  How can I figure out why gdb is missing
this?  When I explicitly try to reference these members of a Waypoint
object gdb says "There is no member named wpll_".

> (I'm apparently wrong about the DW_AT_name being mangled.  Does the
> DW_AT_containing_type attribute of the first die point at something
> named "Soi"?)

The containing type for 'Waypoint' points to a die that appears to
describe Waypoint's base class.  I couldn't find any dies relating to
the namespace 'Soi'.

Thanks for the help so far.
Cheers,
Craig.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]