brintos

brintos / llvm-project-archived public Read only

0
0
Text · 823 B · ebb795a Raw
28 lines · python
1import lldb2 3 4class WrapStepOver:5    def __init__(self, thread_plan, args_data):6        self.plan = thread_plan7        thread = thread_plan.GetThread()8        target = thread.GetProcess().GetTarget()9        frame_0 = thread.frames[0]10        line_entry = frame_0.line_entry11        start_addr = line_entry.addr12        end_addr = line_entry.end_addr13        range_size = end_addr.GetLoadAddress(target) - start_addr.GetLoadAddress(target)14        error = lldb.SBError()15        self.sub_plan = thread_plan.QueueThreadPlanForStepOverRange(16            start_addr, range_size17        )18 19    def should_step(self):20        return False21 22    def should_stop(self, event):23        if self.sub_plan.IsPlanComplete():24            self.plan.SetPlanComplete(True)25            return True26        else:27            return False28