public inbox for gdb@sourceware.org
 help / color / mirror / Atom feed
From: Craig Jeffree <craig.jeffree@preston.net>
To: gdb@sources.redhat.com
Subject: <incomplete type>
Date: Fri, 26 Aug 2005 02:06:00 -0000	[thread overview]
Message-ID: <1125021866.10500.71.camel@norman> (raw)

Hi all,

I'm having trouble with GDB reporting an incomplete type...

(gdb) p *acft->posn_->fpi_->seg_->wpApi_[0]
$1 = <incomplete type>
(gdb) p *(*acft->posn_->fpi_->seg_->wpApi_)
$2 = <incomplete type>

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 {
    <incomplete type>
}

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.

             reply	other threads:[~2005-08-26  2:06 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-26  2:06 Craig Jeffree [this message]
2005-08-26 19:04 ` Jim Blandy
2005-08-29  7:50   ` Craig Jeffree
2005-08-29 18:38     ` Jim Blandy
2005-09-01 23:55       ` Craig Jeffree
2005-09-02  0:22         ` Jim Blandy
2005-09-02  1:50           ` Craig Jeffree
2005-09-02 13:16             ` Daniel Jacobowitz
2005-09-05  7:34               ` Craig Jeffree
2005-09-05 14:00                 ` Daniel Jacobowitz
2005-09-06  7:15                   ` Craig Jeffree
2005-09-12  1:34                     ` Daniel Jacobowitz
2005-09-15  5:12                       ` Craig Jeffree
2005-09-19  7:44                         ` Craig Jeffree
2005-09-12  1:35           ` Daniel Jacobowitz
2005-09-02  2:05       ` Craig Jeffree
  -- strict thread matches above, loose matches on Subject: below --
2005-05-01 21:21 "Incomplete Type" lin q

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1125021866.10500.71.camel@norman \
    --to=craig.jeffree@preston.net \
    --cc=gdb@sources.redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).