Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Nick Roberts <nickrob@snap.net.nz>
To: Vladimir Prus <ghost@cs.msu.su>, gdb-patches@sources.redhat.com
Subject: Re: variable objects and registers
Date: Thu, 21 Dec 2006 01:34:00 -0000	[thread overview]
Message-ID: <17801.58248.297377.752117@kahikatea.snap.net.nz> (raw)
In-Reply-To: <17801.40268.835284.224413@kahikatea.snap.net.nz>

 >  > I think that we need more higher-level notification -- namely "new locals
 >  > appeared" and either:
 >  >         - "varobj now refers to different object"
 >  >         - or have a command that creates varobjs for all variables
 >  >         in a function.
 > 
 > The latter is "-stack-list-locals --make-varobjs" isn't it?  Or are you
 > talking about variables declared within compound statements?

I see now that Insight has two commands:

    /* This implements the tcl command gdb_get_blocks
     *
     * Returns the start and end addresses for all blocks in
     * the selected frame.
     *
     * Arguments:
     *    None
     * Tcl Result:
     *    A list of all valid blocks in the selected_frame.
     */
    static int
    gdb_get_blocks (ClientData clientData, Tcl_Interp *interp,
    		    int objc, Tcl_Obj *CONST objv[])


and


    /* This implements the tcl command gdb_block_vars.
     *
     * Returns all variables valid in the specified block.
     *
     * Arguments:
     *    The start and end addresses which identify the block.
     * Tcl Result:
     *    All variables defined in the given block.
     */
    static int
    gdb_block_vars (ClientData clientData, Tcl_Interp *interp,
		    int objc, Tcl_Obj *CONST objv[])


gdb_block_vars only gets called if gdb_get_blocks finds a new block which
then finds any variabes local to it.  That way new variable objects can be
added (and old ones deleted if a block has disappeared) while keeping
the variable objects which are still in scope.  I think we should implement
these functions in MI (perhaps Apple already have).

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


  reply	other threads:[~2006-12-21  1:34 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-12-06 10:57 Nick Roberts
2006-12-19 17:59 ` Vladimir Prus
2006-12-19 21:58   ` Nick Roberts
2006-12-20 18:39     ` Vladimir Prus
2006-12-20 20:34       ` Nick Roberts
2006-12-21  1:34         ` Nick Roberts [this message]
2006-12-21  6:34           ` Vladimir Prus
2006-12-21  7:57             ` Nick Roberts
2006-12-21  8:34               ` Vladimir Prus
2006-12-30 20:26           ` Daniel Jacobowitz
2006-12-30 20:41             ` Vladimir Prus
2006-12-30 20:50               ` Daniel Jacobowitz
2006-12-30 23:05                 ` Nick Roberts
2006-12-21  6:43         ` Vladimir Prus
2006-12-21  8:34           ` Nick Roberts
     [not found]             ` <0E190425-7C4F-4C6E-B8B3-9A3FA79F6FE3@apple.com>
2006-12-21 23:30               ` Nick Roberts
     [not found]                 ` <1B6B17FA-65DE-4CE2-9BE0-20DA74780EEA@apple.com>
2006-12-22  4:47                   ` Nick Roberts
2006-12-22  6:23                     ` Vladimir Prus
2006-12-22  6:51                       ` Nick Roberts
2006-12-22  7:30                         ` Vladimir Prus
2007-01-05  9:04             ` Vladimir Prus
  -- strict thread matches above, loose matches on Subject: below --
2006-11-29 17:21 Vladimir Prus
2006-12-05 21:16 ` Daniel Jacobowitz
2006-12-06  9:25   ` Vladimir Prus
2006-12-19 22:02     ` 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=17801.58248.297377.752117@kahikatea.snap.net.nz \
    --to=nickrob@snap.net.nz \
    --cc=gdb-patches@sources.redhat.com \
    --cc=ghost@cs.msu.su \
    /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