95a5bdc9dd86008f0277fc433252fbff62bf3a6e
[openbsd] /
1 import lldb
2
3
4 class 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': 0x111111111,
26                 'name': 'one',
27                 'queue': 'queue1',
28                 'state': 'stopped',
29                 'stop_reason': 'none'
30             }, {
31                 'tid': 0x222222222,
32                 'name': 'two',
33                 'queue': 'queue2',
34                 'state': 'stopped',
35                 'stop_reason': 'none'
36             }, {
37                 'tid': 0x333333333,
38                 'name': 'three',
39                 'queue': 'queue3',
40                 'state': 'stopped',
41                 'stop_reason': 'sigstop',
42                 'core': 0
43             }]
44         return self.threads