/// <summary> /// Step over /// </summary> /// <param name="frame">Frame</param> /// <param name="ranges">Ranges to step over</param> /// <param name="action">Delegate to call when completed or null</param> /// <returns></returns> public bool StepOver(CorFrame frame, StepRange[] ranges, Action<DnDebugger, StepCompleteDebugCallbackEventArgs> action = null) { DebugVerifyThread(); return StepIntoOver(frame, ranges, false, action); }
bool StepIntoOver(CorFrame frame, StepRange[] ranges, bool stepInto, Action<DnDebugger, StepCompleteDebugCallbackEventArgs> action = null) { if (ranges == null) return StepIntoOver(frame, stepInto, action); if (!CanStep(frame)) return false; var stepper = CreateStepper(frame); if (stepper == null) return false; if (!stepper.StepRange(stepInto, ranges)) return false; stepInfos.Add(stepper, new StepInfo(action)); Continue(); return true; }
/// <summary> /// Step over /// </summary> /// <param name="ranges">Ranges to step over</param> /// <param name="action">Delegate to call when completed or null</param> /// <returns></returns> public bool StepOver(StepRange[] ranges, Action<DnDebugger, StepCompleteDebugCallbackEventArgs> action = null) { DebugVerifyThread(); return StepOver(Current.ILFrame, ranges, action); }
static StepRange[] CreateStepRanges(uint[] ilRanges) { var stepRanges = new StepRange[ilRanges.Length / 2]; if (stepRanges.Length == 0) return null; for (int i = 0; i < stepRanges.Length; i++) stepRanges[i] = new StepRange(ilRanges[i * 2], ilRanges[i * 2 + 1]); return stepRanges; }