import lldb class OperatingSystemPlugIn(object): """Class that provides data for an instance of a LLDB 'OperatingSystemPython' plug-in class""" def __init__(self, process): """Initialization needs a valid.SBProcess object. This plug-in will get created after a live process is valid and has stopped for the first time. """ self.process = None self.registers = None self.threads = None if isinstance(process, lldb.SBProcess) and process.IsValid(): self.process = process self.threads = None # Will be an dictionary containing info for each thread def get_target(self): return self.process.target def get_thread_info(self): if not self.threads: self.threads = [ { "tid": 0x1, "name": "one", "queue": "queue1", "state": "stopped", "stop_reason": "none", }, { "tid": 0x2, "name": "two", "queue": "queue2", "state": "stopped", "stop_reason": "none", }, { "tid": 0x3, "name": "three", "queue": "queue3", "state": "stopped", "stop_reason": "sigstop", "core": 0, }, ] return self.threads