From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 13772 invoked by alias); 17 Feb 2006 20:31:26 -0000 Received: (qmail 13760 invoked by uid 22791); 17 Feb 2006 20:31:24 -0000 X-Spam-Check-By: sourceware.org Received: from nevyn.them.org (HELO nevyn.them.org) (66.93.172.17) by sourceware.org (qpsmtpd/0.31.1) with ESMTP; Fri, 17 Feb 2006 20:31:23 +0000 Received: from drow by nevyn.them.org with local (Exim 4.54) id 1FACG8-0008L7-Kn; Fri, 17 Feb 2006 15:31:20 -0500 Date: Fri, 17 Feb 2006 20:33:00 -0000 From: Daniel Jacobowitz To: Eli Zaretskii Cc: Vladimir Prus , gdb@sources.redhat.com Subject: Re: MI: type prefixes for values Message-ID: <20060217203120.GE30881@nevyn.them.org> Mail-Followup-To: Eli Zaretskii , Vladimir Prus , gdb@sources.redhat.com References: <200602171724.03824.ghost@cs.msu.su> <20060217190418.GA27304@nevyn.them.org> <20060217193556.GA28754@nevyn.them.org> <20060217195909.GA19387@brasko.net> <20060217201537.GA30881@nevyn.them.org> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.8i X-IsSubscribed: yes Mailing-List: contact gdb-help@sourceware.org; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-owner@sourceware.org X-SW-Source: 2006-02/txt/msg00220.txt.bz2 On Fri, Feb 17, 2006 at 10:22:32PM +0200, Eli Zaretskii wrote: > > Date: Fri, 17 Feb 2006 15:15:37 -0500 > > From: Daniel Jacobowitz > > Cc: Vladimir Prus , gdb@sources.redhat.com > > > > The real problem here is that Vladimir is trying to parse the result of > > -data-evaluate-expression, which is defined as opaque. Maybe someone > > should design a major interface change where values are returned as > > varobjs instead of strings. > > Maybe, I don't know. If the results of -data-evaluate-expression are > designed to be unparsable, then indeed Vladimir shouldn't try that; > but then there should be some way of getting that information in an > easily parsable way. What a great idea! Conveniently someone else already thought of it :-) -var-create - * "getpid()" ^done,name="var1",numchild="0",type="int" (gdb) -var-evaluate-expression var1 ^done,value="31989" (then -var-delete when you're done) Now, this appears at first no different. It has an opaque value string. And for functions it has the annoying {int (int)}. But I think we've agreed that we can remove that, and for compound values you can decompose it using -var-list-children, and you can query its formatted type separately: -var-info-type var1 ^done,type="int" For the record, it evaluates the call at -var-create time rather than -var-evaluate-expression, as I would hope. The result is somewhat strange if GDB hits a breakpoint while doing so. -- Daniel Jacobowitz CodeSourcery