| import lldb |
| |
| class WrapStepOver(): |
| def __init__(self, thread_plan, args_data, dict): |
| 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 |