From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 9483 invoked by alias); 30 May 2006 17:15:22 -0000 Received: (qmail 9474 invoked by uid 22791); 30 May 2006 17:15:22 -0000 X-Spam-Check-By: sourceware.org Received: from eastrmmtao03.cox.net (HELO eastrmmtao03.cox.net) (68.230.240.36) by sourceware.org (qpsmtpd/0.31) with ESMTP; Tue, 30 May 2006 17:15:20 +0000 Received: from localhost.localdomain ([68.9.66.48]) by eastrmmtao03.cox.net (InterMail vM.6.01.06.01 201-2131-130-101-20060113) with ESMTP id <20060530171518.ISJY15797.eastrmmtao03.cox.net@localhost.localdomain>; Tue, 30 May 2006 13:15:18 -0400 Received: from bob by localhost.localdomain with local (Exim 4.52) id 1Fl7oM-00054K-8T; Tue, 30 May 2006 13:15:18 -0400 Date: Tue, 30 May 2006 17:41:00 -0000 From: Bob Rossi To: Jim Ingham Cc: Daniel Jacobowitz , gdb@sources.redhat.com Subject: Re: MI query questions Message-ID: <20060530171518.GB31100@brasko.net> Mail-Followup-To: Jim Ingham , Daniel Jacobowitz , gdb@sources.redhat.com References: <20060529122337.GB2021@brasko.net> <20060529144640.GA12145@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.9i 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-05/txt/msg00391.txt.bz2 On Tue, May 30, 2006 at 09:59:55AM -0700, Jim Ingham wrote: > What we did for this is along the lines Daniel suggested. When we > find multiple matches to a breakpoint, we return "matches", and then > a list of matches, something like: > > ^done,matches={b={index="0",canonical="-[NSException raise]",binary="/ > System/Library/Frameworks/Foundation.framework/Versions/C/ > Foundation",line="0",addr="0x9294d008"},b= > {index="1",canonical="raise",binary="/usr/lib/ > libSystem.B.dylib",line="0",addr="0x9012f940"}} > > Then you have to provide some way for the UI to turn around and set > the breakpoints it wants to set. You aren't really guaranteed that > the UI will know how to cons up a breakpoint expression that will > return the breakpoint you want. We tried using the canonical form, > and with that and the shared library you could do it mostly, except > if we start doing things like template breakpoints. So we added a -l > option to -break-insert that takes a list of the indices and sets the > breakpoints for that list. > > It might have been cleaner to tie the list to the original -break- > insert command, like having -break-insert pass back a cookie along > with the matches, and then do: > > -break-confirm > > But I wanted to keep it stateless to make the implementation in gdb > simpler. So the UI just sends the -break-insert twice, the second > time with the list. You can also send "-1" for the list, and we will > automatically accept all the breakpoints. What about the -interpreter-exec console "b A::func" case? Thanks, Bob Rossi