Skip to content

Events

Enables callbacks into functions to be automatically invoked when various events occur to the debuggee (e.g. STOP on SIGINT) by using a decorator.

P = ParamSpec('P') module-attribute

T = TypeVar('T') module-attribute

connected = {} module-attribute

debug = config.add_param('debug-events', False, 'display internal event debugging info') module-attribute

objfile_cache: Dict[str, Set[str]] = {} module-attribute

paused = defaultdict(bool) module-attribute

registered: Dict[Any, Dict[HandlerPriority, List[Callable[..., Any]]]] = {gdb.events.exited: {}, gdb.events.cont: {}, gdb.events.new_objfile: {}, gdb.events.stop: {}, gdb.events.start: {}, gdb.events.new_thread: {}, gdb.events.before_prompt: {}, gdb.events.memory_changed: {}, gdb.events.register_changed: {}} module-attribute

HandlerPriority

Bases: Enum

A priority level for an event handler, ordered from highest to lowest priority.

CACHE_CLEAR = auto() class-attribute instance-attribute

LOW = auto() class-attribute instance-attribute

StartEvent

registered: List[Callable[..., Any]] = [] instance-attribute

running = False instance-attribute

__init__()

connect(function)

disconnect(function)

on_exited()

on_new_objfile()

on_stop()

after_reload(start=True)

before_prompt(func, **kwargs)

connect(func, event_handler, name='', priority=HandlerPriority.LOW)

cont(func, **kwargs)

exit(func, **kwargs)

invoke_event(event, *args, **kwargs)

log_objfiles(ofile=None)

mem_changed(func, **kwargs)

new_objfile(func, **kwargs)

on_reload()

pause(event_registry)

reg_changed(func, **kwargs)

start(func, **kwargs)

stop(func, **kwargs)

thread(func, **kwargs)

unpause(event_registry)