示例#1
0
 /// <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);
 }
示例#2
0
        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;
        }
示例#3
0
 /// <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);
 }
示例#4
0
 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;
 }