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