1import lldb 2 3 4class WrapStepOver: 5 def __init__(self, thread_plan, args_data): 6 self.plan = thread_plan 7 thread = thread_plan.GetThread() 8 target = thread.GetProcess().GetTarget() 9 frame_0 = thread.frames[0] 10 line_entry = frame_0.line_entry 11 start_addr = line_entry.addr 12 end_addr = line_entry.end_addr 13 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_size 17 ) 18 19 def should_step(self): 20 return False 21 22 def should_stop(self, event): 23 if self.sub_plan.IsPlanComplete(): 24 self.plan.SetPlanComplete(True) 25 return True 26 else: 27 return False 28