Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Nick Roberts <nickrob@snap.net.nz>
To: Ross Morley <ross@tensilica.com>
Cc: Maxim Grigoriev <maxim@tensilica.com>,
	gdb@sourceware.org, 	Marc Gauthier <marc@tensilica.com>,
		Pete MacLiesh <pmac@tensilica.com>
Subject: Re: Understanding GDB frames
Date: Tue, 22 May 2007 02:05:00 -0000	[thread overview]
Message-ID: <18002.20463.147887.664973@kahikatea.snap.net.nz> (raw)
In-Reply-To: <46522B10.6090008@tensilica.com>

 > Compare the two iterations of the loop in f12() with the two
 > calls to f11(). For the calls to f11(), each has a separate
 > instantiation of the frame and thus (strictly speaking) has a
 > separate frame and a separate instance of var 'a'. In the two
 > iterations of f12(), the frame is the same one set up at the
 > beginning of the single call, and 'a' is the same variable.
 > In both cases, the PC and SP are the same.
 > 
 > How can GDB tell the difference? (using the return address
 > instead of the PC in identifying the frame is one way, but
 > then one only needs to go one level deeper to defeat it).
 > 
 > Does GDB need to tell the difference?
 > 
 > GDB confronts a similar issue with watchpoints on local vars.
 > It uses a special scope breakpoint to detect the return of the
 > function and thus detect the watched variable going out of
 > scope. That mechanism is not used for MI variables. Is that
 > because the extra overhead is tolerable if a watchpoint is
 > set but not otherwise?

Watchpoints are different to variable objects in that they stop execution,
when their value changes, for example.  Presumably when the vlaue is being
monitored, so too can the scope.  Variable objects are only updated (if
requested) after execution has already stopped.

 > Should scoping of MI vars be treated the same as watched vars?

As watchpoints?  I  don't think so.  A closer analogy to variable objects
is the "display" command.  There, GDB allows expressions to come back into
scope.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


  reply	other threads:[~2007-05-22  2:05 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-05-21 22:24 Maxim Grigoriev
2007-05-21 23:28 ` Ross Morley
2007-05-22  2:05   ` Nick Roberts [this message]
2007-05-22  2:31     ` Daniel Jacobowitz
2007-05-22  2:51       ` Nick Roberts
2007-05-22 10:58         ` Daniel Jacobowitz
2007-05-22  8:40       ` Ross Morley
2007-05-22 16:10         ` Marc Gauthier
2007-05-22 16:36           ` Daniel Jacobowitz
2007-05-22 18:14             ` Vladimir Prus
2007-05-22 18:33             ` Jim Ingham
2007-05-22 18:36               ` Daniel Jacobowitz
2007-05-23 21:45                 ` Jim Blandy
2007-05-22 17:20           ` Ross Morley
2007-05-22 20:24           ` Nick Roberts
2007-05-22 21:12             ` Maxim Grigoriev
2007-05-22  1:40 ` Joel Brobecker
2007-05-22  2:29 ` Daniel Jacobowitz
2007-05-22 18:37 ` Jim Blandy
2007-05-22 19:17   ` Maxim Grigoriev
2007-05-22 20:25     ` Nick Roberts
2007-05-22 20:33       ` Ross Morley
2007-05-22 20:45       ` Maxim Grigoriev
2007-05-22 21:26         ` Nick Roberts
2007-05-23  7:00           ` Eli Zaretskii
2007-05-23 10:48             ` Daniel Jacobowitz
2007-05-23 12:44               ` Eli Zaretskii
2007-05-22 23:56     ` Jim Blandy
2007-05-23  1:01       ` Maxim Grigoriev
2007-05-23  2:24         ` Daniel Jacobowitz
2007-05-23 16:37           ` Maxim Grigoriev
2007-05-23  0:05     ` Jim Blandy
2007-05-23  0:17       ` Daniel Jacobowitz
2007-05-23  0:17       ` Ross Morley
2007-05-23  0:32         ` Jim Blandy
2007-05-23  2:24           ` Ross Morley
2007-05-23 21:52             ` Jim Blandy
2007-05-24  0:05               ` Ross Morley
2007-05-24  1:24                 ` Ross Morley
2007-05-24 21:56                   ` Jim Blandy

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=18002.20463.147887.664973@kahikatea.snap.net.nz \
    --to=nickrob@snap.net.nz \
    --cc=gdb@sourceware.org \
    --cc=marc@tensilica.com \
    --cc=maxim@tensilica.com \
    --cc=pmac@tensilica.com \
    --cc=ross@tensilica.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