Bug 15620 - no "new breakpoint" event
Summary: no "new breakpoint" event
Status: RESOLVED FIXED
Alias: None
Product: gdb
Classification: Unclassified
Component: python (show other bugs)
Version: HEAD
: P2 normal
Target Milestone: 7.12
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-06-13 20:49 UTC by Tom Tromey
Modified: 2016-07-21 10:54 UTC (History)
2 users (show)

See Also:
Host:
Target:
Build:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Tom Tromey 2013-06-13 20:49:56 UTC
I wanted my Python program to be able to detect when a new
breakpoint (or catchpoint) is created.
However, there is no event for this.

Note that if such an event is added, then some representation of
catchpoints will also be needed, so that they can be meaningfully
passed to the event.
Comment 1 Sourceware Commits 2016-07-13 20:16:22 UTC
The master branch has been updated by Tom Tromey <tromey@sourceware.org>:

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=dac790e1b9048a318e1882979d7188d82c3bd757

commit dac790e1b9048a318e1882979d7188d82c3bd757
Author: Tom Tromey <tom@tromey.com>
Date:   Mon May 4 21:49:11 2015 -0600

    PR python/15620, PR python/18620 - breakpoint events in Python
    
    This patch adds some breakpoint events to Python.  In particular,
    there is a creation event that is emitted when a breakpoint is
    created; a modification event that is emitted when a breakpoint
    changes somehow; and a deletion event that is emitted when a
    breakpoint is deleted.
    
    In this patch, the event's payload is the breakpoint itself.  I
    considered making a new event type to hold the breakpoint, but I
    didn't see a need.  Still, I thought I would mention this as a spot
    where some other choice is possible.
    
    Built and regtested on x86-64 Fedora 23.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/15620, PR python/18620:
    	* python/py-evts.c (gdbpy_initialize_py_events): Call
    	add_new_registry for new events.
    	* python/py-events.h (events_object) <breakpoint_created,
    	breakpoint_deleted, breakpoint_modified>: New fields.
    	* python/py-breakpoint.c (gdbpy_breakpoint_created): Emit the
    	breakpoint changed event.
    	(gdbpy_breakpoint_deleted): Emit the breakpoint deleted event.
    	(gdbpy_breakpoint_modified): New function.
    	(gdbpy_initialize_breakpoints): Attach to the breakpoint modified
    	observer.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/15620, PR python/18620:
    	* python.texi (Events In Python): Document new breakpoint events.
    
    2016-07-13  Tom Tromey  <tom@tromey.com>
    
    	PR python/15620, PR python/18620:
    	* gdb.python/py-breakpoint.exp (connect_event, check_last_event)
    	(test_bkpt_events): New procs.
Comment 2 Tom Tromey 2016-07-13 20:17:44 UTC
Fixed.