This is the mail archive of the gdb-patches@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: [8/9] multiple locations


On Tuesday 13 November 2007 11:31:36 Nick Roberts wrote:

>  > No, because if you set breakpoint in a shared library, and that library is
>  > unloaded, you have some number in 'address' field, but the breakpoint won't
>  > actually fire, and the "(p)" indicates that fact.
> 
> OK, but the column you've added this to is "Enb" which refers to whether
> the breakpoint is enabled or not.  That is really a yes/no question and
> not related to whether the breakpoint is pending.

This is closely tied. "y" and "n" represents user's intended enable state
of the breakpoint. However, sometimes GDB's internal state does not
match user's request, in which case gdb adds "(p)" to say "sorry, you've
enabled this breakpoint but I can't honour your request at this time".

>  > > If it's not needed can we please revert it to the old format?  If it is
>  > > needed can we find a format that doesn't break existing parsing?
>  > 
>  > I personally don't think we should cater for clients that try to use CLI
>  > despite that being known as bad idea. 
> 
> I think we should generally try to cater for _all_ users of GDB and not
> impose requirements on their use of GDB.
> 
>  >                                       That said -- do you have any
>  > suggestions for an alternative format?
> 
> Yes I do.  Instead of:
> 
> (gdb) inf bre
> Num     Type           Disp Enb  Address    What
> 1       breakpoint     keep y(p) 0xb7f4ce40 
> 
> for an unloaded breakpoint, how about:
> 
> (gdb) inf bre
> Num     Type                   Disp Enb  Address    What
> 1       pending breakpoint     keep y    0xb7f4ce40 
> 
> which seems the right place to put it, and Emacs will parse this properly
> because that's where other breakpoint variants are described, e.g.,
> 
> 
> 3       hw breakpoint  keep y    0x080485bc in main at myprog.c:75

I think this is wrong, because "pending" state is generally speaking
orthogonal to any breakpoint type -- in particular, "hw breakpoint" can
be pending just as well. Pending is not the natural type of breakpoint -- it's
just the state of breakpoint at the current time. Furthermore, 
in current GDB, breakpoint type never changes, and changing breakpoint types
dynamically is rather strange.

- Volodya


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