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]

[MI] changing breakpoint location (Was: GDB Focus Group at the 2008 GCC Summit)


Nick Roberts wrote:

> Nick Roberts writes:
>  >  > The IDE is responsible for removing & reinserting breakpoints at the
>  >  > correct line numbers.  If you had a breakpoint on main.c:35 and you
>  >  > added a couple of lines of code earlier in the file, that breakpoint
>  >  > needs to be moved to main.c:37.
>  > 
>  > Quite apart from fix and continue, it would be useful when GDB realises that
>  > an executable has been recompiled and says:
>  > 
>  >   `myprog' has changed; re-reading symbols.
>  > 
>  > if it could also compute and print the new breakpoint locations, possibly
>  > only in MI as an event notification ("=breakpoints-changed").
> 
> I was thinking that GDB could detect that the location had changed but maybe
> (as Jason suggests the IDE should do it (certainly if the edit source in Emacs
> the breakpoint icon moves with it's associated line).  In which case it would
> seem useful to have an MI command that could move an existing breakpoint, e.g.,
> 
>    -break-insert -m BPTNO FILE:LINE
> 
> rather than delete the existing breakpoint and create a new one so that the
> breakpoint number is preserved.  If the example above is breakpoint 4:
> 
>    -break-insert -m 4 main.c:37

The frontend logic to remove and reinsert breakpoint when a location changes is
certainly messy, so I guess such a command would be nice to have. Beware that it
would require some core gdb changes -- breakpoint.c does not support
moving breakpoint location, either.

- Volodya



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