From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 27538 invoked by alias); 20 Jan 2008 10:38:44 -0000 Received: (qmail 27528 invoked by uid 22791); 20 Jan 2008 10:38:43 -0000 X-Spam-Check-By: sourceware.org Received: from viper.snap.net.nz (HELO viper.snap.net.nz) (202.37.101.8) by sourceware.org (qpsmtpd/0.31) with ESMTP; Sun, 20 Jan 2008 10:38:17 +0000 Received: from kahikatea.snap.net.nz (36.63.255.123.dynamic.snap.net.nz [123.255.63.36]) by viper.snap.net.nz (Postfix) with ESMTP id B16123DA07D; Sun, 20 Jan 2008 23:38:09 +1300 (NZDT) Received: by kahikatea.snap.net.nz (Postfix, from userid 1000) id 147408FC6D; Sun, 20 Jan 2008 23:38:06 +1300 (NZDT) From: Nick Roberts MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit Message-ID: <18323.9357.162234.395545@kahikatea.snap.net.nz> Date: Sun, 20 Jan 2008 10:38:00 -0000 To: Vladimir Prus Cc: gdb-patches@sources.redhat.com Subject: Re: [PATCH] Re: bug in mi when setting breakpoint In-Reply-To: <200801201307.44269.ghost@cs.msu.su> References: <20071216125625.GE4783@coin> <18322.28514.745522.314492@kahikatea.snap.net.nz> <200801201307.44269.ghost@cs.msu.su> X-Mailer: VM 7.19 under Emacs 23.0.50.33 X-IsSubscribed: yes 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: 2008-01/txt/msg00495.txt.bz2 > > In Emacs, multiple breakpoints are only created when the user specifies > > the overloaded function in the GUD buffer (if he clicks on the fringe in > > an overloaded function in the source buffer he only gets one breakpoint at > > the line on which he clicked). > > > > If GDB sets all these breakpoints, unwanted ones could then be deleted > > manually either by typing "delete BKPTNO" in the GUD buffer, or clicking > > on individual breakpoint icons in the fringe of the source buffers. > > I don't think such solution is entirely satisfactory, for the following > reason: > > 1. UI should not require to type GDB command for such basic task as adding > breakpoints. The GUD buffer is generally additional to the graphical like features: for those who like to use the command line and for more obscure features which have no graphical counterpart. Also, of course, for environments that only support tarminal based applications. > 2. Overloaded functions can be scattered over several source file, so > clicking on fringe is highly inconvenient -- the files might not be even > open. For such cases there is also a breakpoints buffer from which all breakpoints can be controlled. > 3. Assuming we have a list of breakpoints (which Eclipse and KDevelop > do), we surely can delete breakpoints there. However, adding unwanted > breakpoints right away will not be good in non-stop mode: > > - Some threads might already stop on unwanted breakpoints before you > delete them > - You might run out of hardware resources while setting unwanted > breakpoints Running GDB in "non-stop mode" sounds highly ambitious and may happen a long time in the future, if at all. I'm talking about implementing a simple solution, for now. Even if non-stop mode does become a reality, it presumably won't be the default behaviour, so it won't break existing front ends. > I think it's more clear to set only those breakpoints that user want to set, > as opposed to setting all of them, and then removing undesired ones. Yes, but I still haven't see how you propose to do this. -- Nick http://www.inet.net.nz/~nickrob