This is the mail archive of the gdb@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]