From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 12503 invoked by alias); 1 May 2005 19:05:38 -0000 Mailing-List: contact gdb-patches-help@sources.redhat.com; run by ezmlm Precedence: bulk List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sources.redhat.com Received: (qmail 12491 invoked from network); 1 May 2005 19:05:33 -0000 Received: from unknown (HELO nevyn.them.org) (66.93.172.17) by sourceware.org with SMTP; 1 May 2005 19:05:33 -0000 Received: from drow by nevyn.them.org with local (Exim 4.50 #1 (Debian)) id 1DSJky-0002Tl-Om; Sun, 01 May 2005 15:05:32 -0400 Date: Sun, 01 May 2005 19:05:00 -0000 From: Daniel Jacobowitz To: Thomas Maier Cc: gdb-patches@sources.redhat.com Subject: Re: gdb 6.3 C++ breakpoint in constructor/destructor patch Message-ID: <20050501190532.GB9429@nevyn.them.org> Mail-Followup-To: Thomas Maier , gdb-patches@sources.redhat.com References: Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.8i X-SW-Source: 2005-05/txt/msg00016.txt.bz2 On Sun, May 01, 2005 at 08:32:12PM +0200, Thomas Maier wrote: > Hello, > > I want to supply a patch for the released gdb 6.3, that fixes partially > the gdb bugs > > gdb/1091: Constructor breakpoints ignored > gdb/1193: g++ 3.3 creates multiple constructors: gdb 5.3 can't set > breakpoints > > I was really confused, why my programs to not stop at the breakpoint in > constructor/destructors. Now i know, it is not the fault of my programs ;) > Since this anoying problem seems to be in gdb since the gcc 3.x release, i > guess, no one else a) has this problem (i don't believe so) or b) will not > fix it. So i did it ;) > > This modification is only made for commands like "break > [source]:". For C++ constructors and destructors, the patch > creates more than one breakpoint at the source at lineno, but each > generated breakpoint will have another address! > > NOTE: this is only a simple "hack". I have spent only one day to get into > gdb source code and do the modification. > It would be better, to create only one breakpoint in such C++ constructors > and destructors and assign multiple addresses to it. But this needs a huge > modification of gdb, i guess ;) This is not a very useful change, because it only handles the case where everything at a particular line is in the same symtab. Often this will not be the case. If you take a look at the archives for the list, you will find a lot of discussion on this subject - as well as a prototype patch I posted earlier this year. That patch may be good enough for your needs, since it handles the file:lineno case. But it isn't done yet, and I haven't had time to go back to it yet. -- Daniel Jacobowitz CodeSourcery, LLC