From: "André Pönitz" <andre.poenitz@nokia.com>
To: ext Tom Tromey <tromey@redhat.com>,
"gdb@sourceware.org" <gdb@sourceware.org>
Subject: Re: gdb with python support still get crash on showing uninitialized local variables
Date: Fri, 05 Nov 2010 17:14:00 -0000 [thread overview]
Message-ID: <201011051812.27358.andre.poenitz@nokia.com> (raw)
In-Reply-To: <m3pqvb2iao.fsf@fleche.redhat.com>
On Saturday 16 October 2010 00:38:23 you wrote:
> >>>>> "André" == André Pönitz <andre.poenitz@nokia.com> writes:
>
> André> However, I do not use the gdb version of the pretty printers for
> André> the stability reason you just encountered, and because they
> André> cannot (easily...) create several layers including possibly
> André> "virtual" ones that do not correspond to actual objects on the
> André> inferior side.
>
> I don't understand this latter comment, but I would like to.
> Could you give an example? Or explain it in more depth?
The MI varobject based infrastructure creates one level of information
at a time. So it is not easy to create displays of "virtual levels" or
items that do not actually "live" in the inferior. Displays like
Name Value Type
someObject 0x2312413 SomeType
properties
property1 "MyName" String (stored in a member of the object)
property2 Nov 11, 2010 Date (perhaps in current locale)
property3 "Some Street" String (perhaps coming from a database)
children
...
parents
...
connections
...
are very hard to create in this world, yet such display can be _very_
convenient when debugging applications above the "bare metal" level.
I actually claim that certain displays are impossible to handle with the MI
varobject approach -- even under the assumption that it would work well
otherwise (i.e. handle anonymous structs, hidden variables in outer scope,
gracefully cope with uninitialized/corrupted data, need not several
roundtrips to setup, had a way to reduce repeated data etc)
I seriously believe that with full python scripting being available in gdb
there is no need to use MI varobjects at all.
Unfortunately, gdb's own python based pretty printing does not use
this new freedom but is modeled very similar to the varobject setup
and therefore shares (needlessly if I may add) some of the varobject
shortcomings.
Andre'
next prev parent reply other threads:[~2010-11-05 17:14 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-10-14 2:16 asmwarrior
2010-10-14 18:30 ` André Pönitz
2010-10-15 3:55 ` asmwarrior
2010-10-15 22:38 ` Tom Tromey
2010-11-05 17:14 ` André Pönitz [this message]
2010-10-15 22:37 ` Tom Tromey
2010-10-16 1:14 ` asmwarrior
[not found] ` <m3fww2ued0.fsf_-_@fleche.redhat.com>
2010-10-20 5:19 ` asmwarrior
2010-10-20 5:33 ` asmwarrior
2010-10-22 19:13 ` Tom Tromey
2010-10-22 21:22 ` Eli Zaretskii
2010-10-29 19:18 ` Joel Brobecker
2010-10-29 22:01 ` Eli Zaretskii
2010-10-31 2:24 ` asmwarrior
2010-11-09 2:06 ` asmwarrior
2010-11-12 18:07 ` Tom Tromey
[not found] ` <4CE0C149.6090609@gmail.com>
2010-11-15 18:10 ` Tom Tromey
2010-12-14 2:13 ` asmwarrior
[not found] ` <4D06D1DB.1070501@gmail.com>
2010-12-14 15:00 ` Tom Tromey
2010-12-16 8:48 ` asmwarrior
[not found] ` <AANLkTinsJLTZT0ws=LbpYcq85_Z9_R=fcXz+J+kqScJU@mail.gmail.com>
2010-12-17 19:04 ` RFA: add python exception subclasses Tom Tromey
2010-12-18 2:26 ` asmwarrior
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=201011051812.27358.andre.poenitz@nokia.com \
--to=andre.poenitz@nokia.com \
--cc=gdb@sourceware.org \
--cc=tromey@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