From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 25548 invoked by alias); 27 Jun 2007 07:14:02 -0000 Received: (qmail 25533 invoked by uid 22791); 27 Jun 2007 07:14:01 -0000 X-Spam-Check-By: sourceware.org Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.31) with ESMTP; Wed, 27 Jun 2007 07:13:56 +0000 Received: from kahikatea.snap.net.nz (206.60.255.123.dynamic.snap.net.nz [123.255.60.206]) by viper.snap.net.nz (Postfix) with ESMTP id 0E7D73D981B; Wed, 27 Jun 2007 19:13:52 +1200 (NZST) Received: by kahikatea.snap.net.nz (Postfix, from userid 1000) id 60B228FBF6; Wed, 27 Jun 2007 19:13:38 +1200 (NZST) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18050.3617.437104.746324@kahikatea.snap.net.nz> Date: Wed, 27 Jun 2007 07:14:00 -0000 To: Vladimir Prus Cc: gdb@sources.redhat.com Subject: Re: [MI] frozen variable objects (bug) In-Reply-To: References: <18049.38770.289829.412279@kahikatea.snap.net.nz> X-Mailer: VM 7.19 under Emacs 22.1.50.8 X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2007-06/txt/msg00334.txt.bz2 > > b) from -var-list-children, but the frozen flag is not set for children, > > only > > for the variable object that was explicitly chosen > > I don't understand what do you mean by "explicitly chosen". Just like > -var-create, in current FSF HEAD children varobjs always created non-frozen. > You can freeze any children you like. If you do: -var-create - * m ^done,name="var1",numchild="4",value="[4]",type="int [4]" (gdb) -var-list-children var1 ^done,numchild="4",children=[child={name="var1.0",exp="0",numchild="0",type="int"},child={name="var1.1",exp="1",numchild="0",type="int"},child={name="var1.2",exp="2",numchild="0",type="int"},child={name="var1.3",exp="3",numchild="0",type="int"}] (gdb) -var-set-frozen var1 1 ^done (gdb) -var-list-children var1 ^done,numchild="4",children=[child={name="var1.0",exp="0",numchild="0",type="int"},child={name="var1.1",exp="1",numchild="0",type="int"},child={name="var1.2",exp="2",numchild="0",type="int"},child={name="var1.3",exp="3",numchild="0",type="int"}] (gdb) as var->frozen = 1 for var1 but var->frozen = 0 for var1.0, var1.1, var1.2 and var1.3 I would expect the second -var-list-children to give: ^done,numchild="4",children=[child={name="var1.0",exp="0",numchild="0",type="int",frozen="1"} etc ^^^^^^^^^^ > > I guess the front end should keep track of which objects are frozen but > > it's an attribute that should/could be added to the MI command > > -var-show-attributes. > > We never established what's the intended use of -var-show-attributes and if > that command should be present at all. Currently the front end can't query GDB to find out which variable objects are frozen. Maybe that's not a problem but the manual says: -var-show-attributes NAME List attributes of the specified variable object NAME: status=ATTR [ ( ,ATTR )* ] where ATTR is `{ { editable | noneditable } | TBD }'. TBD - to be decided. I guess that means things like "frozen". > Aside: I still don't understand the need for frozen objects. In Emacs, if > I want to disable automatic update of a complex data type, I just click on > the parent to contract the display, which invokes "-var-delete -c" to > delete the > children. If later I want to look at their values, clicking on the parent > regenerates the children. > And how do you highlight values that were changed? If I want to see if they've changed I don't delete them. Maybe frozen objects are helpful for some intermediate situation but I've never it experienced it. -- Nick http://www.inet.net.nz/~nickrob