mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-05-22 09:46:37 +08:00
Fix deletion of FinishBreakpoints
Currently, FinishBreakpoints are set at the return address of a frame based on the `finish' command, and are meant to be temporary breakpoints. However, they are not being cleaned up after use, as reported in PR python/18655. This was happening because the disposition of the breakpoint was not being set correctly. This commit fixes this issue by correctly setting the disposition in the post-stop hook of the breakpoint. It also adds a test to ensure this feature isn't regressed in the future. Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=18655
This commit is contained in:

committed by
Simon Marchi

parent
9c48a8e6f4
commit
6533cbeeb8
@ -145,7 +145,7 @@ bpfinishpy_post_stop_hook (struct gdbpy_breakpoint_object *bp_obj)
|
||||
{
|
||||
/* Can't delete it here, but it will be removed at the next stop. */
|
||||
disable_breakpoint (bp_obj->bp);
|
||||
gdb_assert (bp_obj->bp->disposition == disp_del);
|
||||
bp_obj->bp->disposition = disp_del_at_next_stop;
|
||||
}
|
||||
catch (const gdb_exception &except)
|
||||
{
|
||||
|
Reference in New Issue
Block a user