From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 4580 invoked by alias); 13 Jan 2006 10:42:16 -0000 Received: (qmail 4572 invoked by uid 22791); 13 Jan 2006 10:42:16 -0000 X-Spam-Check-By: sourceware.org Received: from nile.gnat.com (HELO nile.gnat.com) (205.232.38.5) by sourceware.org (qpsmtpd/0.31) with ESMTP; Fri, 13 Jan 2006 10:42:14 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-nile.gnat.com (Postfix) with ESMTP id 303DF48CBE2 for ; Fri, 13 Jan 2006 05:42:12 -0500 (EST) Received: from nile.gnat.com ([127.0.0.1]) by localhost (nile.gnat.com [127.0.0.1]) (amavisd-new, port 10024) with LMTP id 14736-01-10 for ; Fri, 13 Jan 2006 05:42:12 -0500 (EST) Received: by nile.gnat.com (Postfix, from userid 1345) id 0B28848CBD8; Fri, 13 Jan 2006 05:42:12 -0500 (EST) From: Paul Hilfinger To: gdb@sourceware.org Subject: [RFC] multiple breakpoints from FILE:LINE Message-Id: <20060113104212.0B28848CBD8@nile.gnat.com> Date: Fri, 13 Jan 2006 10:42:00 -0000 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-01/txt/msg00102.txt.bz2 In response to break FUNCTION in C++, GDB currently presents one with a list of choices when FUNCTION is overloaded. However, this is not the only case in which the target of a 'break' command is ambiguous. Consider break FILENAME:LINENUM Normally, this refers to a single location in a program, but if this line is in the middle of a C++ template, a multiply #included file, or an Ada generic definition, it may refer to several locations. Currently, GDB chooses one of these silently. In Ada mode, AdaCore's GNAT Pro version of GDB will also present a menu in response to this latter case. In addition, we introduced a syntax (little used, I believe) for specifying a line in one specific generic instance: break FILENAME:FUNCTION:LINENUM where FUNCTION here would be fully qualified. That is, if P1 and P2 are two different instantiations of a generic class defining F, then break something.adb:P2.F:12 sets a breakpoint at line 12 in P2.F. We would like to contribute some version of both of these to the public sources. Before doing so, however, we'd like to solicit comments. Paul Hilfinger