Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Tom Tromey <tromey@redhat.com>
To: "Kenneth Rose" <kenrose@kenrose.org>
Cc: gdb@sourceware.org
Subject: Re: Cast to result of whatis expression
Date: Tue, 07 Sep 2010 22:16:00 -0000	[thread overview]
Message-ID: <m3eid5w65u.fsf@fleche.redhat.com> (raw)
In-Reply-To: <784f56871ebbe612785c8be91771a9a5.squirrel@webmail.kenrose.org>	(Kenneth Rose's message of "Tue, 7 Sep 2010 18:03:41 -0400")

>>>>> "Kenneth" == Kenneth Rose <kenrose@kenrose.org> writes:

Kenneth> I'm writing something similar to gdb-stl-views for some custom
Kenneth> container classes that we have.

I think that these days it is better to use the Python pretty-printing
infrastructure instead.  It has a number of advantages -- it works no
matter how the object is printed (in a stack trace, embedded in some
other structure), and it works with MI.

Kenneth> I need to explicitly cast foo.m_x to the appropriate type, but
Kenneth> I'm at a loss as to how to get that type from gdb.  "whatis
Kenneth> foo" gives me back "Container<int>".  Is there anyway of
Kenneth> extracting the "int" part of that result and using that as the
Kenneth> type to cast to?

You can do this in Python :-)

You could probably do it (with some difficulty) using a combination of
logging, "shell", and "source".

Kenneth> I'm using the stock GDB that ships with Mac OS X 10.6 (GNU gdb
Kenneth> 6.3.50-20050815 (Apple version gdb-1461).  I know... it's old.

Ah, Apple's fork.  Unfortunately it is Python-free.

You could try GDB 7.2.  It has some known bugs on Mac OS, but I have
also heard reports of it work.

Tom


  reply	other threads:[~2010-09-07 22:16 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-09-07 22:04 Kenneth Rose
2010-09-07 22:16 ` Tom Tromey [this message]
2010-09-10 18:09   ` Kenneth Rose
2010-09-10 19:57     ` Tom Tromey
2010-09-07 22:04 Kenneth Rose

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=m3eid5w65u.fsf@fleche.redhat.com \
    --to=tromey@redhat.com \
    --cc=gdb@sourceware.org \
    --cc=kenrose@kenrose.org \
    /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