Breakpoint locations, enableness and MI's =breakpoint-modified event
Simon Marchi
simon.marchi@polymtl.ca
Sun May 27 21:19:00 GMT 2018
On 2018-05-23 06:14, Jan Vrany wrote:
> Hi there,
Hi Jan,
> when using MI, an MI event =breakpoint-modified is emitted if
> breakpoint
> enableness is changed via CLI command (such as 'dis 1'). However, if
> breakpoint location is changed (such as 'dis 1.1'), no event is emitted
> so the frontend may get out of sync.
That sounds like a bug.
> Is there any reason for this?
> Also, why the event is not emitted when breakpoint enablement is
> changed via MI command -break-enable?
Changes directly initiated by the MI frontend do not generate MI events
towards that frontend. When the frontend receives the successful
response to its command, it already knows that the change went through.
If there are multiple MI channels (created using the new-ui command),
the MI frontends other than the one that sent the command should receive
the event. That doesn't seem to work either, I would consider that a
bug.
> In case this is a bug, I tried to fix it and emit the event even for
> breakpoint location changes (see the patch below, testcase included).
> In short, I have extended gdb::observers::breakpoint_modified to take
> also the location (or nullptr) and notify() it also when location
> enableness changes, passing the specific location. The MI hook is
> updated accordingly, the rest is left as it was. Other uses of
> gdb::observers::breakpoint_modified may need to be updated too (python,
> guile & tui comes to mind).
>
> Best, Jan
Thanks, I'll reply with comments about the patch in another message
where I CC gdb-patches@ instead of gdb@.
Simon
More information about the Gdb
mailing list