From: Daniel Jacobowitz <drow@false.org>
To: Paul Koning <pkoning@equallogic.com>
Cc: eliz@gnu.org, ghost@cs.msu.su, gdb@sources.redhat.com
Subject: Re: MI: reporting of multiple breakpoints
Date: Fri, 17 Feb 2006 22:12:00 -0000 [thread overview]
Message-ID: <20060217214303.GA1375@nevyn.them.org> (raw)
In-Reply-To: <17398.16942.92466.13879@gargle.gargle.HOWL>
On Fri, Feb 17, 2006 at 04:37:50PM -0500, Paul Koning wrote:
> Daniel> What I'm maintaining is that we shouldn't "sort this out".
> Daniel> What we display should be, IMO, all the events which we
> Daniel> consider to have logically occurred in the current
> Daniel> conditions. The value of a watchpoint has changed since we
> Daniel> last checked it? Report the watchpoint. We've reached the
> Daniel> PC of a breakpoint? Report the breakpoint.
>
> Daniel> What you're suggesting would have two stops at identical PC
> Daniel> values. You'd want to say continue and have GDB stop again,
> Daniel> right away, without executing any instructions. I'd find
> Daniel> that much more confusing!
>
> Maybe you find it confusing because you're trying to reason about this
> at the machine code level. Look at the source line level instead.
It's precisely because I am reasoning about this at the source code
level that I find it confusing; we are stopped at the source location
of the breakpoint. The fact that the breakpoint hasn't physically
triggered is, as far as I'm concerned, just an implementation detail.
Please take another look at my single-step example in the last message.
> If you watch foo, you should be told about watchpoint stops at lines
> that touch foo. You should not be told about breaks in other lines.
> If you hit at watchpoint in line 421, and you continue, and you had
> defined a breakpoint in line 422, you would expect that breakpoint to
> fire because 422 != 421.
But you don't "hit a watchpoint in line 421". When you hit the
watchpoint, you are already at line 422. There's no way to "back up"
the view we prevent to the user (excluding simulators); for instance
the store may have been in the branch delay slot, so we could have come
from absolutely anywhere. Other architectures may trigger the
watchpoint multiple cycles later when the pipeline has cleared up a
bit. Your later comment that "watch exceptions are caused by the
instruction at PC-size" assumes far too much.
If there were a way to back up the view, and we did it, then of course
I'd agree we weren't stopped at the breakpoint.
--
Daniel Jacobowitz
CodeSourcery
next prev parent reply other threads:[~2006-02-17 21:43 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-17 15:32 Vladimir Prus
2006-02-17 15:48 ` Daniel Jacobowitz
2006-02-17 16:04 ` Vladimir Prus
2006-02-17 18:59 ` Daniel Jacobowitz
2006-02-17 19:04 ` Daniel Jacobowitz
2006-02-17 19:52 ` Eli Zaretskii
2006-02-17 19:54 ` Daniel Jacobowitz
2006-02-17 19:59 ` Eli Zaretskii
2006-02-17 20:06 ` Paul Koning
2006-02-17 20:08 ` Daniel Jacobowitz
2006-02-17 20:16 ` Eli Zaretskii
2006-02-17 20:19 ` Daniel Jacobowitz
2006-02-17 20:18 ` Paul Koning
2006-02-17 20:24 ` Daniel Jacobowitz
2006-02-17 21:37 ` Paul Koning
2006-02-17 21:43 ` Daniel Jacobowitz
2006-02-17 21:56 ` Paul Koning
2006-02-17 22:12 ` Daniel Jacobowitz [this message]
2006-02-18 9:54 ` Paul Koning
2006-02-18 10:56 ` Daniel Jacobowitz
2006-02-18 15:47 ` Eli Zaretskii
2006-02-18 15:28 ` Eli Zaretskii
2006-02-18 17:28 ` Daniel Jacobowitz
2006-02-18 17:42 ` Eli Zaretskii
2006-02-18 17:50 ` Daniel Jacobowitz
2006-02-18 18:33 ` Eli Zaretskii
2006-02-19 18:20 ` Paul Koning
2006-02-19 18:31 ` Daniel Jacobowitz
2006-02-19 18:44 ` Robert Dewar
2006-02-20 3:16 ` Eli Zaretskii
2006-02-18 11:39 ` Eli Zaretskii
2006-02-19 18:19 ` Paul Koning
2006-02-19 18:38 ` Daniel Jacobowitz
2006-02-19 18:54 ` Paul Koning
2006-02-19 19:05 ` Robert Dewar
2006-02-19 19:30 ` Paul Koning
2006-02-19 19:52 ` Daniel Jacobowitz
2006-02-19 19:57 ` Paul Koning
2006-02-19 21:55 ` Eli Zaretskii
2006-02-20 4:33 ` Daniel Jacobowitz
2006-02-20 7:25 ` Eli Zaretskii
2006-02-20 18:20 ` Daniel Jacobowitz
2006-02-17 20:14 ` Eli Zaretskii
2006-02-17 20:08 ` Daniel Jacobowitz
2006-02-17 20:22 ` Eli Zaretskii
2006-02-17 20:31 ` Daniel Jacobowitz
2006-02-17 20:32 ` Eli Zaretskii
2006-02-17 20:41 ` Daniel Jacobowitz
2006-02-17 20:02 ` Eli Zaretskii
2006-02-17 20:15 ` Daniel Jacobowitz
2006-02-17 19:36 ` 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=20060217214303.GA1375@nevyn.them.org \
--to=drow@false.org \
--cc=eliz@gnu.org \
--cc=gdb@sources.redhat.com \
--cc=ghost@cs.msu.su \
--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