Next: Parameters In Python, Previous: GDB/MI Commands In Python, Up: Python API [Contents][Index]
It is possible to emit GDB/MI notifications from
Python. Use the gdb.notify_mi function to do that.
Emit a GDB/MI asynchronous notification. name is the name of the
notification, consisting of alphanumeric characters and a hyphen (-).
data is any additional data to be emitted with the notification, passed
as a Python dictionary. This argument is optional. The dictionary is converted
to a GDB/MI result records (see GDB/MI Output Syntax) the same way
as result of Python MI command (see GDB/MI Commands In Python).
If data is None then no additional values are emitted.
While using existing notification names (see GDB/MI Async Records) with
gdb.notify_mi is allowed, users are encouraged to prefix user-defined
notification with a hyphen (-) to avoid possible conflict.
GDB will never introduce notification starting with hyphen.
Here is how to emit =-connection-removed whenever a connection to remote
GDB server is closed (see Connections In Python):
def notify_connection_removed(event):
data = {"id": event.connection.num, "type": event.connection.type}
gdb.notify_mi("-connection-removed", data)
gdb.events.connection_removed.connect(notify_connection_removed)
Then, each time a connection is closed, there will be a notification on MI channel:
=-connection-removed,id="1",type="remote"