From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1364 invoked by alias); 26 Aug 2005 02:06:51 -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 30690 invoked by uid 22791); 26 Aug 2005 02:04:30 -0000 Received: from chfw.preston.net (HELO universe.preston.net) (202.14.89.130) by sourceware.org (qpsmtpd/0.30-dev) with ESMTP; Fri, 26 Aug 2005 02:04:30 +0000 Received: from norman (norman.preston.net [202.14.10.82]) by universe.preston.net (8.11.6/8.11.6) with ESMTP id j7Q24QT28147 for ; Fri, 26 Aug 2005 12:04:27 +1000 Subject: From: Craig Jeffree To: gdb@sources.redhat.com Content-Type: text/plain Date: Fri, 26 Aug 2005 02:06:00 -0000 Message-Id: <1125021866.10500.71.camel@norman> Mime-Version: 1.0 Content-Transfer-Encoding: 7bit X-SW-Source: 2005-08/txt/msg00099.txt.bz2 Hi all, I'm having trouble with GDB reporting an incomplete type... (gdb) p *acft->posn_->fpi_->seg_->wpApi_[0] $1 = (gdb) p *(*acft->posn_->fpi_->seg_->wpApi_) $2 = Although the variable I'm printing is deeply nested there is nothing unusual or complicated about it. There is no templating involved in this hierarchy of objects. It's simply classes, structs and an array of a class type. I can successfully do the following when stopped at the same breakpoint: (gdb) p *acft->posn_->fpi_->seg_->wpApi_ $3 = (struct Soi::Waypoint *) 0x94d58b8 And I also get... (gdb) ptype *acft->posn_->fpi_->seg_->wpApi_[0] type = struct Soi::Waypoint { } What is going on??? I'm using gdb 6.3 and gcc 3.2.3 with '-g' so it has the default debug format for x86 Linux. The OS is Red Hat Enterprise Linux 3. I'm sorry I can't be much more specific at the moment. I'm only seeing this in a huge application (the debug binary is hundreds of megs). My attempts to recreate this on a small scale have failed. I'm at a loss as to what I should try next. Any advice on what might be happening and what I could look at would be greatly appreciated. My attempts to recreate it in a simpler environment have included: - recreated the object hierarchy with dummy classes that don't have seemingly unrelated dependencies. - trying to reproduce this: http://lists.gnu.org/archive/html/bug- gdb/2001-09/msg00092.html - creating a class hierarchy and functions where I can break inside a compilation unit that was not compiled with the class hierarchy in scope and then using the class hierarchy in GDB. - assorted other random smatterings of code that I don't remember the details of. All of the above simply result in the debugger understanding exactly what I'm doing, it never shows an incomplete type. Cheers, Craig.