Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Jim Blandy <jimb@codesourcery.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Daniel Jacobowitz <drow@false.org>,
	 rodney.bates@wichita.edu, 	  gdb@sourceware.org
Subject: Re: breakpoint for accessing memory location
Date: Mon, 23 Oct 2006 22:02:00 -0000	[thread overview]
Message-ID: <m3ac3m6689.fsf@codesourcery.com> (raw)
In-Reply-To: <ud58kvvmk.fsf@gnu.org> (Eli Zaretskii's message of "Mon, 23 Oct 2006 00:22:27 +0200")


Eli Zaretskii <eliz@gnu.org> writes:
>> Date: Sun, 22 Oct 2006 13:24:31 -0400
>> From: Daniel Jacobowitz <drow@false.org>
>> Cc: Eli Zaretskii <eliz@gnu.org>, gdb@sourceware.org
>> 
>> On Sun, Oct 22, 2006 at 10:20:02AM -0500, Rodney M. Bates wrote:
>> > If p is local to an inner block, but the compiler did the common thing of
>> > flattening p and all its cousins into one activation record for the 
>> > containing
>> > function, does the watchpoint really get deleted when execution leaves the
>> > block, or when the containing function returns?
>> 
>> When the debug info says it goes out of scope, or more specifically,
>> when GDB no longer knows where to find it.
>
> Don't we record the frame in the watchpoint structure?  If so, the
> watchpoint is deleted when its frame is popped off the stack.

Actually, that's still not the ideal behavior.  The language
specification defines what it means for a variable to be "in scope" at
a particular program location.  That's the definition GDB should use,
ideally.  Consider code like this:

int
foo (void)
{
  ...;
  {
    int b = 10;
    /* X */
    ...;
  }
  /* Y */
  ...;
}

If I set a watchpoint on b at '/* X */', then that watchpoint should
be deleted at soon as we leave the local block in which it is
defined.  For example, if we step to '/* Y */', then the watchpoint
should be deleted, because the variables it refers to are no longer in
scope at that point.

Unfortunately, GDB doesn't do this.  Instead, it behaves just as Eli
said it does, and waits for the frame to be popped before removing the
watchpoint.


  reply	other threads:[~2006-10-23 22:02 UTC|newest]

Thread overview: 51+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-19 20:10 Erik Leunissen
2006-10-19 20:12 ` Daniel Jacobowitz
2006-10-19 20:24   ` Erik Leunissen
2006-10-19 20:25     ` Daniel Jacobowitz
2006-10-19 20:28       ` Erik Leunissen
2006-10-20  6:31     ` Eli Zaretskii
2006-10-20 14:27       ` Daniel Jacobowitz
2006-10-21 13:20         ` [commit] Fix annotations-related index entries (was: breakpoint for accessing memory location) Eli Zaretskii
2006-10-20 16:56       ` breakpoint for accessing memory location Erik Leunissen
2006-10-20 17:39         ` Eli Zaretskii
2006-10-21 12:58         ` Eli Zaretskii
2006-10-21 22:28           ` Erik Leunissen
2006-10-22  4:20             ` Eli Zaretskii
2006-10-22  9:11               ` Erik Leunissen
2006-10-22  9:19                 ` Erik Leunissen
2006-10-22 22:16                 ` Eli Zaretskii
2006-10-23  7:41                   ` Erik Leunissen
2006-10-21 15:06       ` Rodney M. Bates
2006-10-21 15:27         ` Daniel Jacobowitz
2006-10-21 15:29         ` Eli Zaretskii
2006-10-21 15:51           ` Daniel Jacobowitz
2006-10-21 21:26             ` Eli Zaretskii
2006-10-21 22:32               ` Daniel Jacobowitz
2006-10-22  4:18                 ` Eli Zaretskii
2006-10-22  4:22                   ` Daniel Jacobowitz
2006-10-22 12:18                     ` Robert Dewar
2006-10-22 22:18                       ` Eli Zaretskii
2006-10-22 22:21                         ` Daniel Jacobowitz
2006-10-22 22:29                           ` Eli Zaretskii
2006-10-22 22:49                             ` Robert Dewar
2006-10-22 23:18                             ` Daniel Jacobowitz
2006-10-23  2:03                               ` Robert Dewar
2006-10-23  4:11                               ` Eli Zaretskii
2006-10-23 12:36                                 ` Daniel Jacobowitz
2006-10-22 22:48                         ` Robert Dewar
2006-10-22 22:51                           ` Eli Zaretskii
2006-10-22 22:55                             ` Robert Dewar
2006-10-23  4:10                               ` Eli Zaretskii
2006-10-22 20:40                     ` Mark Kettenis
2006-10-21 18:07           ` Rodney M. Bates
2006-10-21 21:42             ` Eli Zaretskii
2006-10-21 18:55           ` Rodney M. Bates
2006-10-21 21:53             ` Eli Zaretskii
2006-10-22 15:20               ` Rodney M. Bates
2006-10-22 17:24                 ` Daniel Jacobowitz
2006-10-22 22:22                   ` Eli Zaretskii
2006-10-23 22:02                     ` Jim Blandy [this message]
2006-10-24  4:32                       ` Eli Zaretskii
2006-10-24 12:57                         ` Daniel Jacobowitz
2006-10-24 17:37                           ` Eli Zaretskii
2006-10-24 17:41                             ` Daniel Jacobowitz

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=m3ac3m6689.fsf@codesourcery.com \
    --to=jimb@codesourcery.com \
    --cc=drow@false.org \
    --cc=eliz@gnu.org \
    --cc=gdb@sourceware.org \
    --cc=rodney.bates@wichita.edu \
    /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