From: Vladimir Prus <ghost@cs.msu.su>
To: Jim Ingham <jingham@apple.com>
Cc: gdb@sources.redhat.com
Subject: Re: MI: performance of getting stack arguments
Date: Wed, 19 Apr 2006 06:20:00 -0000 [thread overview]
Message-ID: <200604191008.10301.ghost@cs.msu.su> (raw)
In-Reply-To: <1CE7391B-7261-49BD-9068-89C201F555DE@apple.com>
On Tuesday 18 April 2006 20:41, 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).
That's what I have at the moment. It basically worked that way before and I
wanted to preserve existing behaviour.
There's in fact one use case where I want full stacktrace. When I'm debugging
a crash in console gdb, output of "bt" with arguments can be usefull, because
I can immediately spot if 10 levels up the stack some parameter has
suspicious value.
> 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.
That would work, and require just ~100ms to get the entire stack without
arguments. I'm still thinking that a separate command to show all arguments
is necessary.
> For most purposes, when you are stepping through a function you don't
> really care what the arguments higher up on the stack are, and even
> if you want to see them once you rarely need to see if they are
> changing after each step. Having them always visible sounds like it
> would make the UI very noisy. Fetching them without displaying them
> is a waste of time, since you can fetch them one by one on demand.
It's possible to fetch arguments only when stack widget is visible, but I
suspect users will keep it visible all the time.
Concerning other data points: Visual Studio 2005 shows argument values by
default, but allows to hide them. Eclipse does not show them and it's not
configurable. CBuilderX shows arguments values. However, it first shows
current line and then fetches arguments values, and I don't have to wait for
stack view to update before next step.
Guess there's still something to think about.
- Volodya
>
> Jim
>
> On Apr 18, 2006, at 9:10 AM, Vladimir Prus wrote:
> > Hi,
> > I've run into a performance problem with "-stack-list-arguments 1"
> > command.
> > I issue the command in order to obtain stack arguments for all
> > frames, and
> > I've 129 frames. Each frame has just a couple of arguments.
> > However, the
> > command execution takes 608 ms.
> >
> > If this command is issued repeatedly, the time is roughly the same.
> >
> > 1. Any ideas why the command takes so long?
> >
> > 2. Any ideas what should I do to to avoid making user wait half-a-
> > second on
> > each "step"? I can try to reload stack only when current frame id
> > changes.
> > But then, each time I enter a new function, there's still that
> > half-a-second delay.
> >
> > Incidentally, it seems that Eclipse does no show arguments in stack
> > view at
> > all, but that does not seem the right solution.
> >
> > - Volodya
next prev parent reply other threads:[~2006-04-19 6:08 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
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 [this message]
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=200604191008.10301.ghost@cs.msu.su \
--to=ghost@cs.msu.su \
--cc=gdb@sources.redhat.com \
--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