From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22318 invoked by alias); 15 Jan 2006 17:38:29 -0000 Received: (qmail 22310 invoked by uid 22791); 15 Jan 2006 17:38:29 -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; Sun, 15 Jan 2006 17:38:26 +0000 Received: from localhost (localhost [127.0.0.1]) by filtered-nile.gnat.com (Postfix) with ESMTP id BEF0248CC25; Sun, 15 Jan 2006 12:38:24 -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 06853-01-6; Sun, 15 Jan 2006 12:38:24 -0500 (EST) Received: from [127.0.0.1] (dhcp10.gnat.com [205.232.38.232]) by nile.gnat.com (Postfix) with ESMTP id 6EB6C48CC1C; Sun, 15 Jan 2006 12:38:24 -0500 (EST) Message-ID: <43CA888E.20607@adacore.com> Date: Sun, 15 Jan 2006 17:38:00 -0000 From: Robert Dewar User-Agent: Mozilla Thunderbird 1.0.6 (Windows/20050716) MIME-Version: 1.0 To: Paul Koning CC: comar@adacore.com, hilfingr@gnat.com, gdb@sourceware.org Subject: Re: : Re: [RFC] multiple breakpoints from FILE:LINE References: <43C9AAA8.2030605@adacore.com> <17354.31047.417000.385481@gargle.gargle.HOWL> In-Reply-To: <17354.31047.417000.385481@gargle.gargle.HOWL> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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-01/txt/msg00122.txt.bz2 > > >>> Those menus have got to go. They're (a) confusing to users (in > >>> my opinion, no real data), and (b) extremely awkward for > >>> graphical frontends.... > > Cyrille> I agree with Daniel's (a) & (b). I have never grumbled > Cyrille> before on this topic because I did not have anything > Cyrille> constructive to contribute. This thread gave me an > Cyrille> idea. Here it is: > > I strongly object to removing the menus which are very convenient to use. No proposal here comes close to being as convenient. For the overriding case, here is typical usage: (gdb) pn (parent (1666)) Multiple matches for parent [0] cancel [1] atree.parent at /M/gnat5/src/gcc/ada/atree.adb:2104 [2] nlists.parent at /M/gnat5/src/gcc/ada/nlists.adb:1020 > 1 N_Assignment_Statement (Node_Id=1665) (source) Sloc = 9928 a.adb:4:6 Name = N_Identifier "x" (Node_Id=1662) Expression = N_Op_Divide "Odivide" (Node_Id=1666) Certainly you want the menu in that case I would assume (I can't see an alternative). So if I do (gdb) break parent [0] cancel [1] all [2] atree.parent at /M/gnat5/src/gcc/ada/atree.adb:2104 [3] nlists.parent at /M/gnat5/src/gcc/ada/nlists.adb:1020 > 2 Breakpoint 6 at 0x43e755: file c:/M/gnat5/src/gcc/ada/atree.adb, line 2104. again, typing 2/return is very simple, I certainly don't want to have to go looking up where parent is declared and typing its line number in the first place, and copying and pasting a command is far slower than typing 2/return. In the GUI case I have to click on an alternative either way, so what's Note that indeed it is the case that it is important (crucial I would say) to be able to place a breakpoint on only one occurrence. the difference? > Cyrille> I believe it would be worthwhile to have 2 different break > Cyrille> commands: - break - break-multiple (or whatever other more > Cyrille> appropriate name) > > Cyrille> break-multiple would have the semantics advocated by Daniel > Cyrille> (break automatically on all relevant locations) > > Cyrille> break, instead of presenting a menu, would issue an error of > Cyrille> the kind: > > Cyrille> (gdb) break FILENAME:LINENUM multiple choices for this > Cyrille> breakpoint, please use any of the following: break-multiple > Cyrille> FILENAME:LINENUM break FILENAME:instance1.function:LINENUM > >Nice. What syntax would you use for the two constructors, and three >destructors, that have the same C++ names? > > > Does not look nice at all to me, it is far more work to cut and paste a break command than to type one digit.