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