void BeforeGetValue(string name) { NamedValue localVar; try { localVar = process.LocalVariables[name]; } catch (DebuggerException) { return; } PrintLine("Getting local variable " + name); // First, get out of GC unsafe point Stepper stepOut = new Stepper(process.SelectedThread.LastFunction, "Boo interperter"); stepOut.StepComplete += delegate { process.Debugger.MTA2STA.AsyncCall(delegate { if (!interpreter_localVariable.SetValue(localVar)) { PrintLine("Getting of local variable " + name + " failed"); } process.Continue(); }); }; stepOut.StepOut(); }
/// <summary> Step out of the stack frame </summary> public void AsyncStepOut() { Stepper.StepOut(this, "normal"); AsyncContinue(); }
/// <summary> Step out of the stack frame </summary> public void AsyncStepOut() { Stepper.StepOut(this, "normal"); process.AsyncContinue(DebuggeeStateAction.Clear); }
public StepperEventArgs(Stepper stepper, CorDebugStepReason reason) : base(stepper.Process) { this.stepper = stepper; this.reason = reason; }
public static Stepper StepOut(StackFrame stackFrame, string name) { // JMC off - Needed for multiple events. See docs\Stepping.txt Stepper stepper = new Stepper(stackFrame, StepperOperation.StepOut, null, name, false); stepper.corStepper.StepOut(); return stepper; }
public StepperEventArgs(Stepper stepper, CorDebugStepReason reason) { this.stepper = stepper; this.reason = reason; }
public static Stepper StepOver(StackFrame stackFrame, int[] stepRanges, string name) { Stepper stepper = new Stepper(stackFrame, StepperOperation.StepOver, stepRanges, name, stackFrame.Process.Options.EnableJustMyCode); stepper.corStepper.StepRange(false /* step over */, stepRanges); return stepper; }
internal Function(Thread thread, FrameID frameID, ICorDebugILFrame corILFrame) { this.process = thread.Process; this.thread = thread; this.frameID = frameID; this.CorILFrame = corILFrame; corFunction = corILFrame.Function; module = process.GetModule(corFunction.Module); methodProps = module.MetaData.GetMethodProps(corFunction.Token); // Force some callback when function steps out so that we can expire it stepOutStepper = new Stepper(this, "Function Tracker"); stepOutStepper.StepOut(); stepOutStepper.PauseWhenComplete = false; process.TraceMessage("Function " + this.ToString() + " created"); }
public StepperEventArgs(Stepper stepper): base(stepper.Process) { this.stepper = stepper; }
public StepperEventArgs(Stepper stepper) : base(stepper.Process) { this.stepper = stepper; }