(self, tracefunc)
| 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 |
nothing calls this directly
no test coverage detected