From: "André Pönitz" <apoenitz@trolltech.com>
To: gdb-patches@sourceware.org
Subject: Re: Type information in -data-evaluate-expression
Date: Mon, 30 Jul 2007 17:06:00 -0000 [thread overview]
Message-ID: <200707301733.59718.apoenitz@trolltech.com> (raw)
In-Reply-To: <f8kqea$dk$1@sea.gmane.org>
On Monday 30 July 2007 15:52:10 Vladimir Prus wrote:
> André Pönitz wrote:
> > While playing around with gdb's "mi" interface (which looks rather
> > nice for scripting btw...) I came across a few places where I think
> > the interface might be made even more convienient without much
> > effort.
> >
> > One example: As far as I can see currently the only way to obtain
> > the type of an expression is to use -var-create & -var-delete.
> > It would be more convienient for me if I could get that information
> > with a single command without creating a variable which will be
> > thrown away immediatedly afterwards.
>
> What is the use case where you need to just get the type of an expression,
> without doing anything with it?
One use case would be to display values in a graphical frontend
when hovering (or even moving) the mouse over some expression.
My current "best practice" here is to create a variable called "tooltip",
extract value and type and delete it again, only to create it again
with a slightly different expression etc. So I need two roundtrips
and need some syncronization to handle the two partial results
whereas the proposed "enhanced" version would allow a simple
hit-and-run implementation...
Also, there are times when I would like to call "custom data dumpers"
(think std::string or std::vector) instead of using the content of the
value field. To trigger those dumpers quickly I need to get hold of type
information quickly, preferably after the first round trip. I understand that
a delay of a few dozen milliseconds for a round trip is a non-issue for
the typical command line use, however these add up easily to a more
significant amount if one "needs" lots of them...
> [...] I'd expect this patch will break a bunch of tests, since those tests
> are not expecting the additional 'type' field.
mi2-eval.exp and mi-eval.exp seems to be affected, I guess I would
be able to fix them.
> The patch itself seems reasonable as far as code is concerned, but
> I'm not yet sure about your use case.
> I'd prefer -data-evaluate-expression to fall to misuse,
> rather than adding some new functionality to it.
The gdb variable business requires some bookkeeping on the frontend
side some of which I'd like to avoid.
Andre'
next prev parent reply other threads:[~2007-07-30 15:34 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-30 13:52 André Pönitz
2007-07-30 15:34 ` Vladimir Prus
2007-07-30 17:06 ` André Pönitz [this message]
2007-07-30 23:17 ` Nick Roberts
[not found] ` <200707310922.14919.apoenitz@trolltech.com>
2007-07-31 9:13 ` Nick Roberts
2007-07-31 9:40 ` André Pönitz
2007-07-31 10:39 ` Nick Roberts
2007-07-31 11:02 ` Vladimir Prus
2007-07-31 11:25 ` Nick Roberts
2007-07-31 11:06 ` Daniel Jacobowitz
2007-07-31 13:35 ` Nick Roberts
2007-07-31 10:14 ` Vladimir Prus
2007-07-31 10:29 ` Nick Roberts
2007-07-31 8:09 ` Vladimir Prus
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=200707301733.59718.apoenitz@trolltech.com \
--to=apoenitz@trolltech.com \
--cc=gdb-patches@sourceware.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