From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5471 invoked by alias); 5 May 2011 22:40:39 -0000 Received: (qmail 5409 invoked by uid 22791); 5 May 2011 22:40:38 -0000 X-SWARE-Spam-Status: No, hits=-2.0 required=5.0 tests=AWL,BAYES_00 X-Spam-Check-By: sourceware.org Received: from rock.gnat.com (HELO rock.gnat.com) (205.232.38.15) by sourceware.org (qpsmtpd/0.43rc1) with ESMTP; Thu, 05 May 2011 22:40:23 +0000 Received: from localhost (localhost.localdomain [127.0.0.1]) by filtered-rock.gnat.com (Postfix) with ESMTP id 3A95B2BB29C; Thu, 5 May 2011 18:40:19 -0400 (EDT) Received: from rock.gnat.com ([127.0.0.1]) by localhost (rock.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id LkTJkB+SeDfQ; Thu, 5 May 2011 18:40:19 -0400 (EDT) Received: from joel.gnat.com (localhost.localdomain [127.0.0.1]) by rock.gnat.com (Postfix) with ESMTP id 0BE9A2BB256; Thu, 5 May 2011 18:40:18 -0400 (EDT) Received: by joel.gnat.com (Postfix, from userid 1000) id 4E566145615; Thu, 5 May 2011 15:40:16 -0700 (PDT) Date: Thu, 05 May 2011 22:40:00 -0000 From: Joel Brobecker To: Tom Tromey Cc: gdb-patches@sourceware.org Subject: Re: [RFC] canonical linespec and multiple breakpoints ... Message-ID: <20110505224016.GB2568@adacore.com> References: <20110505162855.GA2546@adacore.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.20 (2009-06-14) Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2011-05/txt/msg00162.txt.bz2 Hey Tom, thanks for the feedback. > I am not sure about this plan. I think it relies on being able to > differentiate breakpoints based on canonical linespecs, but I don't > think it is always possible to construct these. Indeed, I think it is true that there are going to be times when no canonical linespec is ever going to be unique enough. For instance, the rather non-sensical case where two homonym routines are implemented on the same line of code. However: > E.g., consider the case where a linespec resolves to two locations, one > of which does not have debuginfo. What is the canonical linespec for > the debuginfo-less location? What if there are three locations and two > of them don't have debuginfo? I.e., are those two consolidated into a > single breakpoint? What would its canonical linespec be? Or if not > consolidated, etc. I think that, in a case where we have matches in code with debug info, we shouldn't even bother looking at code without debugging info. I think that this would be reasonable. There should be other ways for the user to break on those instances that don't have debug info he that's really what he meant. > I keep coming back to the "simple" approach I sketched here: > > http://sourceware.org/ml/gdb-patches/2011-04/msg00567.html > > I can try to write this up into a fuller proposal if you want. Which part of your message would be the approach that you are referring to? There are two proposals that I can see: - the 3rd-tier breakpoint - one multi-location breakpoint (meaning that we break on all matches regardless) The second approach is going to be really be tough to me to sell to the Ada users. This is why I emphasized this aspect in my other email (it was lengthy, I apologize). I have some ideas on maybe finding a way to make it match our goals, but I'd rather make sure I know exactly what you meant. -- Joel