From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9461 invoked by alias); 18 Feb 2006 10:56:08 -0000 Received: (qmail 9453 invoked by uid 22791); 18 Feb 2006 10:56:07 -0000 X-Spam-Check-By: sourceware.org Received: from romy.inter.net.il (HELO romy.inter.net.il) (192.114.186.66) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sat, 18 Feb 2006 10:56:05 +0000 Received: from HOME-C4E4A596F7 (IGLD-84-228-139-42.inter.net.il [84.228.139.42]) by romy.inter.net.il (MOS 3.7.3-GA) with ESMTP id DOY25241 (AUTH halo1); Sat, 18 Feb 2006 12:56:00 +0200 (IST) Date: Sat, 18 Feb 2006 11:34:00 -0000 Message-Id: From: Eli Zaretskii To: Jim Ingham CC: drow@false.org, ghost@cs.msu.su, gdb@sources.redhat.com In-reply-to: <3D09ADF2-5A80-4B42-B4DE-2A2861C3A2AA@apple.com> (message from Jim Ingham on Fri, 17 Feb 2006 12:40:52 -0800) Subject: Re: MI: type prefixes for values Reply-to: Eli Zaretskii 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> <20060217203120.GE30881@nevyn.them.org> <3D09ADF2-5A80-4B42-B4DE-2A2861C3A2AA@apple.com> 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/msg00232.txt.bz2 > Cc: Eli Zaretskii , Vladimir Prus , > gdb@sources.redhat.com > From: Jim Ingham > Date: Fri, 17 Feb 2006 12:40:52 -0800 > > And... since the varobj's only parse the expression once when the > varobj is created, getting the current values of varobj's is much > faster than doing -data-evaluate-expression. Not a big deal if you > are just printing one value. But if you are trying to update all the > local variables on every step, this can be significant. People tend > to be pretty sensitive to the speed of the "step" operation... > > If you're writing a front end using the MI, you are better off using > variable objects for anything that you are likely to refresh more > than one or two times. > > In Xcode, we do use -data-evaluate-expression, but only when we are > doing function calls where we know the call we are making and what to > expect back. In this case the overhead of the variable object is not > worth the trouble. Other than that, we use varobj's... Jim, how about if you (and everyone else who has working knowledge of using MI in front ends) write a section for the GDB manual with various do's and dont's, such as those you mention above? I think this would be a useful addition to the manual, one that could significantly boost developers' readiness to switch to MI and use it wisely. Right now, every one of them needs to discover this on their own.