From: Robert Dewar <dewar@adacore.com>
To: Jim Ingham <jingham@apple.com>
Cc: Vladimir Prus <ghost@cs.msu.su>, gdb@sources.redhat.com
Subject: Re: MI: performance of getting stack arguments
Date: Wed, 19 Apr 2006 06:08:00 -0000 [thread overview]
Message-ID: <44455B87.2020800@adacore.com> (raw)
In-Reply-To: <EFF204DE-4C25-4F2A-A622-8605B2996BC9@apple.com>
Jim Ingham wrote:
>
>
>
> On Apr 18, 2006, at 12:11 PM, Robert Dewar wrote:
>
>> Jim Ingham wrote:
>>> Do you really have a UI that shows the stack arguments for ALL the
>>> frames on the stack? That's very unusual (and visually a bit
>>> overwhelming, I would imagine). The usual stack display shows the
>>> stack with just the function names. Then clicking on any given stack
>>> will populate the arguments for that frame, fill the source window
>>> with the source for that frame, etc... This way, you only need to
>>> fetch the arguments for the bottom-most frame on the stack when you
>>> stop stepping. You would only fetch the other stack arguments if the
>>> user specifically requests them.
>>
>> The ordinary bt from gdb gives this info, and it would be a pain
>> not to have it!
>>
>
> I dunno. I find that having a really simple clean stack listing with
> just function names makes it much easier to tell where I am in the
> program. Most of the time that's what I want to see, not what the third
> argument to the function 10 frames up on the stack was. If I want that,
> I don't find it a problem to dial it up. And in the GUI all you have to
> do is click on the frame to see the source & arguments. This seems to
> work pretty well for folks, at least we get lots of suggestions from our
> users, but nobody's ever asked us to change this.
Gosh I would find this horrible. For example, a very common thing for
me is to debug a crash in the gigi section of GNAT. I need to quickly
loook down the call stack to find the most recent reference to a
routine with a parameter gnat_node to find the corresponding node
in the front end tree. It would be very painful to iterate frame
by frame to find this.
>
> Anyway, this is a "to each his own" kind of thing. But just keep in
> mind, when you are implementing a GUI debugger that anything you show in
> the UI you are pledging to update every time a step is completed. And
> most folks are pretty sensitive about how long it takes for each step to
> complete. So you do need to be a bit conservative about what you display
> by default. Adding to this, gdb does get slow as programs get large,
> which makes it even more important to be judicious.
Yes, well I agree the GUI requirements are quite different indeed.
I only want to see the call stack when I need it and not all the
time (I don't use a GUI interface to GDB, I prefer to use it in
command line mode).
>
> Also, in a GUI much more stuff is visible at once, so if each element is
> too complex then the overall result is noisy and hard to use. Visual
> Studio used by default to show a whole bunch of junk in the stack window
> (pc, args, etc.) and way back when I used it I found it really hard to
> look at for just this reason. According to the 2005 Online docs, you
> can turn all the other info off and display just the function name if
> you want...
Seems reasonable to have a much more streamlined call stack visible all
the time, and a special command to decorate it with parameter values.
>
> Jim
next prev parent reply other threads:[~2006-04-18 21:35 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-04-18 16:40 Vladimir Prus
2006-04-18 16:45 ` Daniel Jacobowitz
2006-04-18 21:15 ` Jim Ingham
2006-04-19 7:55 ` Vladimir Prus
2006-04-19 16:13 ` Eli Zaretskii
2006-04-20 8:50 ` Daniel Jacobowitz
2006-04-26 14:10 ` Vladimir Prus
2006-04-26 14:59 ` Daniel Jacobowitz
2006-04-26 18:02 ` Vladimir Prus
2006-04-26 18:17 ` Daniel Jacobowitz
2006-04-18 19:11 ` Jim Ingham
2006-04-18 21:35 ` Robert Dewar
2006-04-18 21:37 ` Jim Ingham
2006-04-19 6:08 ` Robert Dewar [this message]
2006-04-19 7:30 ` Vladimir Prus
2006-04-19 6:11 ` Nick Roberts
2006-04-19 8:45 ` Eli Zaretskii
2006-04-19 9:02 ` Nick Roberts
2006-04-19 12:40 ` Eli Zaretskii
2006-04-20 10:22 ` Jim Ingham
2006-04-19 6:20 ` Vladimir Prus
2006-04-19 8:28 ` Eli Zaretskii
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=44455B87.2020800@adacore.com \
--to=dewar@adacore.com \
--cc=gdb@sources.redhat.com \
--cc=ghost@cs.msu.su \
--cc=jingham@apple.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