: Re: [RFC] multiple breakpoints from FILE:LINE

Cyrille Comar
2006-01-15T01:51:50Z

>> 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)