import lldb
class WrapStepOver:
def __init__(self, thread_plan, args_data):
self.plan = thread_plan
thread = thread_plan.GetThread()
target = thread.GetProcess().GetTarget()
frame_0 = thread.frames[0]
line_entry = frame_0.line_entry
start_addr = line_entry.addr
end_addr = line_entry.end_addr
range_size = end_addr.GetLoadAddress(target) - start_addr.GetLoadAddress(target)
error = lldb.SBError()
self.sub_plan = thread_plan.QueueThreadPlanForStepOverRange(
start_addr, range_size
)
def should_step(self):
return False
def should_stop(self, event):
if self.sub_plan.IsPlanComplete():
self.plan.SetPlanComplete(True)
return True
else:
return False