Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@red-bean.com>
To: Robert Dewar <dewar@adacore.com>
Cc: Paul Koning <pkoning@equallogic.com>,
	comar@adacore.com, hilfingr@gnat.com,  	gdb@sourceware.org
Subject: Re: : Re: [RFC] multiple breakpoints from FILE:LINE
Date: Mon, 16 Jan 2006 06:58:00 -0000	[thread overview]
Message-ID: <8f2776cb0601152258n1210346ak95154a1dda2a22d1@mail.gmail.com> (raw)
In-Reply-To: <43CA888E.20607@adacore.com>

On 1/15/06, Robert Dewar <dewar@adacore.com> wrote:
> I strongly object to removing the menus which are very convenient to
> use. No proposal here comes close to being as convenient. For the
> overriding case, here is typical usage:

Your example doesn't correspond to the case we're discussing.

In your example (if I'm guessing my way through Ada and your .gdbinit
user-defined functions properly), there is an ambiguity in what
"parent" refers to; the menu lets you select one.

But the case being discussed in this thread is menus that appear in
response to a location specified by a filename and line number.  It's
not clear that the kind of legitimate ambiguity you're concerned about
is present here.

When a function has been inlined, it's odd for users to demand to be
able to set breakpoints on one inlined instance but not another.  You
can't set a breakpoint on a function conditional on it having been
called from a certain place; why would users suddenly require that
functionality just because the compiler decided to optimize the code
in a certain way?

In-charge and not-in-charge constructors are a similar situation. 
There's nothing in the semantics of the source language that ever
suggests that there are two separate reifications of the single block
of code the user wrote.  This differs from instantiations of generics,
which (if I understand right) are things that the user actually did
ask for.  The two constructor instances don't behave differently, as
far as the source level in concerned.  Separating the two is purely an
implementation strategy, and should be hidden from the user when
reasonable.

In cases where the same code has been #included twice, I think there's
more of a case that users might want to choose one or the other, since
it is indeed explicit in the source code that this particular source
line is going to contribute twice to the translation unit.  But even
here, setting the breakpoint in both places would be a clear
improvement over what we do now: choose one #inclusion randomly.

(The last time we discussed this, Michael Chastain pointed out that
you actually *do* want to choose a specific constructor instance when
you're disassembling.  But we're talking about breakpoints here; the
decision just needs to be made at the right place, so we can do one
thing for 'break' and a different thing for 'disass'.)


  reply	other threads:[~2006-01-16  6:58 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-01-15  1:51 Cyrille Comar
2006-01-15 16:33 ` Paul Koning
2006-01-15 16:45   ` Daniel Jacobowitz
2006-01-15 17:41     ` Robert Dewar
2006-01-15 22:23       ` Paul Koning
2006-01-16 13:43     ` Cyrille Comar
2006-01-16 13:47       ` Daniel Jacobowitz
2006-01-16 14:16         ` Cyrille Comar
2006-01-16 15:31       ` Paul Koning
2006-01-15 17:38   ` Robert Dewar
2006-01-16  6:58     ` Jim Blandy [this message]
2006-01-16 10:03       ` Robert Dewar
2006-01-16 10:04       ` Robert Dewar
2006-01-15 22:23 ` Paul Hilfinger

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=8f2776cb0601152258n1210346ak95154a1dda2a22d1@mail.gmail.com \
    --to=jimb@red-bean.com \
    --cc=comar@adacore.com \
    --cc=dewar@adacore.com \
    --cc=gdb@sourceware.org \
    --cc=hilfingr@gnat.com \
    --cc=pkoning@equallogic.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