Mirror of the gdb mailing list
 help / color / mirror / Atom feed
From: Daniel Jacobowitz <drow@false.org>
To: Vladimir Prus <ghost@cs.msu.su>, Jim Ingham <jingham@apple.com>
Cc: gdb@sources.redhat.com
Subject: Re: -var-update and address changes
Date: Fri, 14 Apr 2006 13:25:00 -0000	[thread overview]
Message-ID: <20060414131549.GC12955@nevyn.them.org> (raw)
In-Reply-To: <1A00C3C1-BDF5-489E-A36A-A1E5C20E102A@apple.com> <e1iqcl$2k4$1@sea.gmane.org>

On Wed, Apr 12, 2006 at 04:04:36PM +0400, Vladimir Prus wrote:
> I'm running into what looks like a bug in -var-update. Basically, I create a
> varobj with "&variable", then I enter a function that has a variable with
> the same name, and -var-update does not report anything.

I think we've concluded that this is a feature, not a bug...

> The value of "&i" changes, but -var-update does not report this. This can be
> explained by the fact that varobjs are "bound" to the stack frame where
> they were created, but that "binding" is not mentioned in documentation.

... and adding this to the manual would be welcome.

> The problem I'm trying to solve is this:
> 1. In some frame, I create varobj for 'i'.
> 2. After continue, I see that there's local variable 'i', and I want to find
> out if previously-created varobj can be used to show this local 'i', or if
> I should create new 'i'.

OK, so, you need to map this to a frame.  Apple outputs the frame
address.  I think this is pretty nasty; frame IDs ought to be opaque in
the interface (e.g. in case we change their contents again)... Jim,
what does your front end do with the frame IDs?  Is there anything
besides testing for equality?  If there is, we can use unique opaque
identifiers instead; personally I'm much happier with that.  The
best unique identifier might in fact be the contents of the frame
ID; I'm just trying to define how clients are allowed to interpret
it, hopefully not at all.

> Can somebody suggest the right fix? So far, I think that the simplest
> approach is to make gdb print stack address of current frame, like is done
> on the Apple branch:
> 
>      553^done,stack=[frame= 
>      {level="0",addr="0x00003db0",fp="0xbffff2c0",......
> 
> That way, frontend can deal with the issue of frame stacks themself, and
> -var-update will be only used when single-stepping inside a given frame.
> Will patches to implement this be welcome?

I guess.  It seems reasonable.

The MI working group list is now open; should we move this sort of
conversation there?

-- 
Daniel Jacobowitz
CodeSourcery


  parent reply	other threads:[~2006-04-14 13:15 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-04-12 16:02 Vladimir Prus
2006-04-12 18:25 ` Jim Ingham
2006-04-13  9:25   ` Vladimir Prus
2006-04-13 17:31     ` Jim Ingham
2006-04-14 13:25   ` Daniel Jacobowitz [this message]
2006-04-14 20:03     ` Jim Ingham
2006-04-14 20:09       ` Daniel Jacobowitz
2006-04-14 20:27         ` Jim Ingham
2006-04-14 21:37           ` Daniel Jacobowitz
2006-04-17  6:18             ` Vladimir Prus
2006-04-17  9:02               ` Mark Kettenis
2006-04-17 10:54                 ` Vladimir Prus
2006-05-02 12:50       ` Vladimir Prus
2006-05-02 13:14         ` Nick Roberts
2006-05-02 13:41           ` Vladimir Prus
2006-05-02 17:23             ` Jim Ingham
2006-05-03  6:03               ` Vladimir Prus
     [not found]                 ` <20060504145046.GA32605@nevyn.them.org>
2006-05-04 15:12                   ` Vladimir Prus
2006-05-04 15:13                     ` Daniel Jacobowitz
2006-05-05  6:25                   ` Vladimir Prus
2006-05-05 15:02                     ` Daniel Jacobowitz
2006-04-16 15:52     ` Nick Roberts

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=20060414131549.GC12955@nevyn.them.org \
    --to=drow@false.org \
    --cc=gdb@sources.redhat.com \
    --cc=ghost@cs.msu.su \
    --cc=jingham@apple.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