------- Comment #3 from pinskia at gcc dot gnu dot org 2006-01-17 20:23 ------- (In reply to comment #2) > i) The reason why you are able to set a breakpoint here is the consequence of > the testclass having only one single (non-trivial) constructor and no base > class. The problem becomes aparent as soon as you add a second (non-trivial) > constructor and call "the wrong one", i.e. one that gdb is not aware of. As > far > as I know, g++ generates more than one subroutine per constructor (is this > correct?) and gdb does not know *where* to set the breakpoint. Unfortunately, > the program where this happens here is a bit too large, and this also seems to > some part a bug in gdb.
That is fully a gdb bug as mentioned before in different places, I think there is a gdb bug about it too. The problem is that gdb does not know which constructor (the in charge or the out of charge one) to place the breakpoint so it chooses one, the wrong one in your case. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25793