From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 18739 invoked by alias); 29 Aug 2005 07:50:23 -0000 Mailing-List: contact gdb-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sources.redhat.com Received: (qmail 18605 invoked by uid 22791); 29 Aug 2005 07:50:10 -0000 Received: from chfw.preston.net (HELO universe.preston.net) (202.14.89.130) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Mon, 29 Aug 2005 07:50:10 +0000 Received: from norman (norman.preston.net [202.14.10.82]) by universe.preston.net (8.11.6/8.11.6) with ESMTP id j7T7nTZ29155; Mon, 29 Aug 2005 17:49:33 +1000 Subject: Re: From: Craig Jeffree To: Jim Blandy Cc: gdb@sources.redhat.com In-Reply-To: References: <1125021866.10500.71.camel@norman> Content-Type: text/plain Date: Mon, 29 Aug 2005 07:50:00 -0000 Message-Id: <1125301769.10500.124.camel@norman> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2005-08/txt/msg00105.txt.bz2 On Fri, 2005-08-26 at 12:02 -0700, Jim Blandy wrote: > 'readelf -wi' dumps Dwarf debugging info in a human-readable form. > You can apply it to relocatable object files, executables, and shared > libraries. You probably want to apply it to the executable or shared > library, since that's fewer steps removed from GDB, but the output > will be large. You'll need to search for a DW_TAG_structure debugging > information entry ("die") whose DW_AT_name attribute is the mangled > form of Soi::Waypoint, and verify that the members are indeed listed > there. If you could post that die when you find it, that might be > interesting. > I don't think I really understand what I'm looking at here. In the .o file I found this: <1>: Abbrev Number: 113 (DW_TAG_structure_type) DW_AT_sibling : DW_AT_name : (indirect string, offset: 0xd7e3): Waypoint DW_AT_byte_size : 120 DW_AT_decl_file : 62 DW_AT_decl_line : 33 DW_AT_containing_type: <1668a> and in the executable I found this: <2><3bb78>: Abbrev Number: 2 (DW_TAG_structure_type) DW_AT_sibling : <3bc2e> DW_AT_name : (indirect string, offset: 0x4ff824): Waypoint DW_AT_byte_size : 24 DW_AT_decl_file : 123 DW_AT_decl_line : 90 Are these complete dies? They obviously don't seem to contain any members or have any references to anything else except for the sibling which is just an unrelated DW_TAG_structure_type. Scanning through the information none of the dies appears to contain anything that look like members, however the members appear in their own right as separate dies in the executable but not in the .o file like this: <2>: Abbrev Number: 71 (DW_TAG_member) DW_AT_name : (indirect string, offset: 0x7724ea): wpname_ DW_AT_decl_file : 158 DW_AT_decl_line : 58 DW_AT_type : DW_AT_data_member_location: 2 byte block: 23 10 (DW_OP_plus_uconst: 16) DW_AT_accessibility: 3 (private) Am I on the right track, how are the members described in the dies? Thanks for the help, Craig.