Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Paul Hilfinger <hilfingr@EECS.Berkeley.EDU>
To: Mark Kettenis <mark.kettenis@xs4all.nl>
Cc: eliz@gnu.org, pedro@codesourcery.com, gdb@sourceware.org,
	dje@google.com,         temp@sourceboost.com
Subject: Re: Getting pissed off by gdb. Please help with stepping in.
Date: Thu, 18 Mar 2010 23:37:00 -0000	[thread overview]
Message-ID: <3401.1268955336@tully.CS.Berkeley.EDU> (raw)
In-Reply-To: Your message of Thu, 18 Mar 2010 20:53:09 +0100.              <201003181953.o2IJr9MV006009@glazunov.sibelius.xs4all.nl>


Mark Kettenis <mark.kettenis@xs4all.nl> wrote:

> > Date: Thu, 18 Mar 2010 21:38:18 +0200
> > From: Eli Zaretskii <eliz@gnu.org>
> > 
> > > From: Pedro Alves <pedro@codesourcery.com>
> > > Date: Thu, 18 Mar 2010 18:55:39 +0000
> > > Cc: dje@google.com,
> > >  temp@sourceboost.com
> > > 
> > > Users often find this behaviour unexpected (I've often
> > > wished GDB would behave like what the OP is suggesting too).
> > 
> > Then why don't we change the behavior to match what users expect?
> 
> Because different users expect different things.  I for example would
> be somewhat annoyed by having to issue an extra "step".  And the
> argument that this is what people that are familliar with Visual
> Studio are used to is pretty weak.  GDB users are used the GDB behaviour!

I have to agree with Eli here.  Yes, I suppose I am "used to" GDB
behaviour, but there are two senses to this phrase: (1) "have become
accustomed to and now prefer" and (2) "have learned to tolerate". After
all, there is no contradiction between the two statements "I've gotten
used to the howling blizzards that strike here every couple of days" and
"I'd really appreciate a transfer to Maui."  

The problem is that usually, if you are on line L1, 'step' brings you to
a line L2 that has some simple relationship with L1: it's (roughly) the
next statement to be executed after L1 in the current function or the
first statement to be executed in a function call at L1.  If L1 is the
end of a function, on the other hand, then L2 could be the first
statement of any other function, and is in fact unpredictable from the
text surrounding L1.  Well, this isn't so bad if you got to L1 by a
sequence of 'steps' starting at the call that directs you into L1's
function, because in principle, you might be expected to retain some
vague memory that you got to L1 from a call that would later take you to
L2.  But what if you landed in L1's function as a result of breakpoint?

Yes, I know: judicious use of 'up' and 'down' or 'where' will reorient
me.  But that just means that I save one 'step' at the cost of issuing
another, different, instruction.

And as I think others have pointed out, the user who wishes to bounce
back to the call statement must interpolate a 'finish' command at the
right point in his sequence of 'step's, something I must confess I
often manage to mess up.

Paul Hilfinger


  parent reply	other threads:[~2010-03-18 23:37 UTC|newest]

Thread overview: 34+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-03-18  2:39 temp
2010-03-18  3:00 ` Hui Zhu
2010-03-18  3:03 ` Nathan Froyd
2010-03-18  7:22 ` Doug Evans
2010-03-18  9:07   ` Eli Zaretskii
2010-03-18 15:10     ` Doug Evans
2010-03-18 15:21       ` Pedro Alves
2010-03-18 18:33         ` Eli Zaretskii
2010-03-18 18:55           ` Pedro Alves
2010-03-18 19:38             ` Eli Zaretskii
2010-03-18 19:54               ` Mark Kettenis
2010-03-18 20:43                 ` Doug Evans
2010-03-18 20:51                   ` Michael Snyder
2010-03-18 21:17                     ` Pedro Alves
2010-03-18 21:12                 ` Eli Zaretskii
2010-03-18 23:37                 ` Paul Hilfinger [this message]
2010-03-19  9:51                 ` Richard Earnshaw
2010-03-19 10:41                   ` Mark Kettenis
2010-03-19 13:19                     ` Eli Zaretskii
2010-03-19 10:19                 ` André Pönitz
2010-03-18 15:28       ` Doug Evans
2010-03-18 18:31       ` Eli Zaretskii
2010-03-18 18:37         ` Paul Koning
2010-03-18 19:06           ` Doug Evans
2010-03-18 20:48             ` Jonas Maebe
2010-03-18 13:33   ` Daniel Jacobowitz
2010-03-18 14:06     ` André Pönitz
2010-03-18 14:13       ` Daniel Jacobowitz
2010-03-18 14:33         ` André Pönitz
2010-03-18 14:39           ` Daniel Jacobowitz
2010-03-18 14:54             ` André Pönitz
2010-03-18 15:40     ` Doug Evans
2010-03-18 17:41   ` Michael Snyder
2010-03-18 22:44 ` temp

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=3401.1268955336@tully.CS.Berkeley.EDU \
    --to=hilfingr@eecs.berkeley.edu \
    --cc=Hilfinger@CS.Berkeley.EDU \
    --cc=dje@google.com \
    --cc=eliz@gnu.org \
    --cc=gdb@sourceware.org \
    --cc=mark.kettenis@xs4all.nl \
    --cc=pedro@codesourcery.com \
    --cc=temp@sourceboost.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