49 lines · python
1import lldb2 3 4class OperatingSystemPlugIn(object):5 """Class that provides data for an instance of a LLDB 'OperatingSystemPython' plug-in class"""6 7 def __init__(self, process):8 """Initialization needs a valid.SBProcess object.9 10 This plug-in will get created after a live process is valid and has stopped for the first time.11 """12 self.process = None13 self.registers = None14 self.threads = None15 if isinstance(process, lldb.SBProcess) and process.IsValid():16 self.process = process17 self.threads = None # Will be an dictionary containing info for each thread18 19 def get_target(self):20 return self.process.target21 22 def get_thread_info(self):23 if not self.threads:24 self.threads = [25 {26 "tid": 0x1,27 "name": "one",28 "queue": "queue1",29 "state": "stopped",30 "stop_reason": "none",31 },32 {33 "tid": 0x2,34 "name": "two",35 "queue": "queue2",36 "state": "stopped",37 "stop_reason": "none",38 },39 {40 "tid": 0x3,41 "name": "three",42 "queue": "queue3",43 "state": "stopped",44 "stop_reason": "sigstop",45 "core": 0,46 },47 ]48 return self.threads49