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

Vladimir Prus vladimir@codesourcery.com
Wed Jun 25 06:56:00 GMT 2008


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




More information about the Gdb mailing list