<incomplete type>
Craig Jeffree
craig.jeffree@preston.net
Thu Sep 1 23:55:00 GMT 2005
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.
More information about the Gdb
mailing list