1import lldb 2 3class WrapStepOver(): 4 def __init__(self, thread_plan, args_data, dict): 5 self.plan = thread_plan 6 thread = thread_plan.GetThread() 7 target = thread.GetProcess().GetTarget() 8 frame_0 = thread.frames[0] 9 line_entry = frame_0.line_entry 10 start_addr = line_entry.addr 11 end_addr = line_entry.end_addr 12 range_size = end_addr.GetLoadAddress(target) - start_addr.GetLoadAddress(target) 13 error = lldb.SBError() 14 self.sub_plan = thread_plan.QueueThreadPlanForStepOverRange(start_addr, range_size) 15 16 def should_step(self): 17 return False 18 19 def should_stop(self, event): 20 if self.sub_plan.IsPlanComplete(): 21 self.plan.SetPlanComplete(True) 22 return True 23 else: 24 return False 25