MCPcopy Index your code
hub / github.com/python/cpython / start_trace

Method start_trace

Lib/bdb.py:48–67  ·  view source on GitHub ↗
(self, tracefunc)

Source from the content-addressed store, hash-verified

46 self._enabled = False
47
48 def start_trace(self, tracefunc):
49 self._tracefunc = tracefunc
50 self._tracing_thread = threading.current_thread()
51 curr_tool = sys.monitoring.get_tool(self._tool_id)
52 if curr_tool is None:
53 sys.monitoring.use_tool_id(self._tool_id, self._name)
54 elif curr_tool == self._name:
55 sys.monitoring.clear_tool_id(self._tool_id)
56 else:
57 raise ValueError('Another debugger is using the monitoring tool')
58 E = sys.monitoring.events
59 all_events = 0
60 for event, cb_name in self.EVENT_CALLBACK_MAP.items():
61 callback = self.callback_wrapper(getattr(self, f'{cb_name}_callback'), event)
62 sys.monitoring.register_callback(self._tool_id, event, callback)
63 if event != E.INSTRUCTION:
64 all_events |= event
65 self.update_local_events()
66 sys.monitoring.set_events(self._tool_id, self.GLOBAL_EVENTS)
67 self._enabled = True
68
69 def stop_trace(self):
70 self._enabled = False

Callers

nothing calls this directly

Calls 4

callback_wrapperMethod · 0.95
update_local_eventsMethod · 0.95
itemsMethod · 0.45
register_callbackMethod · 0.45

Tested by

no test coverage detected