This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
: Re: [RFC] multiple breakpoints from FILE:LINE
- From: Cyrille Comar <comar at adacore dot com>
- To: Paul Hilfinger <hilfingr at gnat dot com>
- Cc: gdb at sourceware dot org
- Date: Sun, 15 Jan 2006 02:51:36 +0100
- Subject: : Re: [RFC] multiple breakpoints from FILE:LINE
- Followup-to: <20060113104212.0B28848CBD8@nile.gnat.com>
>> 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.
> Interesting. As I said, in Ada, the multi-line feature is much more
> important than in C. AdaCore's version has been around for years, and
> has simply created multiple breakpoints (controlled by menu, as for
> overloading). We haven't gotten loud calls for doing things
> differently (well, point (b) has caused internal gripes), but perhaps
> I should do some polling for soft grumbling from users.
Ok, here is some soft grumblings from a long-standing internal user of
the AdaCore version: grumble grumble...
;-)
I agree with Daniel's (a) & (b). I have never grumbled before on this
topic because I did not have anything constructive to contribute. This
thread gave me an idea. Here it is:
I believe it would be worthwhile to have 2 different break commands:
- break
- break-multiple (or whatever other more appropriate name)
break-multiple would have the semantics advocated by Daniel (break
automatically on all relevant locations)
break, instead of presenting a menu, would issue an error of the kind:
(gdb) break FILENAME:LINENUM
multiple choices for this breakpoint, please use any of the following:
break-multiple FILENAME:LINENUM
break FILENAME:instance1.function:LINENUM
break FILENAME:instance2.function:LINENUM
break FILENAME:instance3.function:LINENUM
That solves 4 issues:
- an experienced user can do exactly what she wants
- a less experienced user can copy/paste the appropriate choice from
the error message
- there is no more awkward interactive menu in text mode
- a graphical interface can easily parse the error output and do
whatever deemed appropriate in the interface (presenting a menu for
instance)