1import lldb 2 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 = None 13 self.registers = None 14 self.threads = None 15 if isinstance(process, lldb.SBProcess) and process.IsValid(): 16 self.process = process 17 self.threads = None # Will be an dictionary containing info for each thread 18 19 def get_target(self): 20 return self.process.target 21 22 def get_thread_info(self): 23 if not self.threads: 24 self.threads = [{ 25 'tid': 0x1, 26 'name': 'one', 27 'queue': 'queue1', 28 'state': 'stopped', 29 'stop_reason': 'none' 30 }, { 31 'tid': 0x2, 32 'name': 'two', 33 'queue': 'queue2', 34 'state': 'stopped', 35 'stop_reason': 'none' 36 }, { 37 'tid': 0x3, 38 'name': 'three', 39 'queue': 'queue3', 40 'state': 'stopped', 41 'stop_reason': 'sigstop', 42 'core': 0 43 }] 44 return self.threads 45