/// <summary> /// Signals that the execution was interrupted due to hitting one or more /// breakpoints. /// </summary> protected void SignalBreakpoint() { ExecutionInterruptReason reason = new ExecutionInterruptReason(Debugger.Breakpoints.HitBreakpoints.ToArray()); Debugger.OnExecutionInterrupt(reason); AllowedToContinue.Reset(); AllowedToContinue.WaitOne(); }
/// <summary> /// Signals that the execution was interrupted due to en exception. /// </summary> /// <param name="exception">Exception that caused the interruption</param> protected void SignalException(Exception exception) { Debugger.OnExecutionInterrupt(new ExecutionInterruptReason(exception)); AllowedToContinue.Reset(); AllowedToContinue.WaitOne(); }
/// <summary> /// Signals that the execution was interrupted due to calling the <c>Pause</c> /// method. /// </summary> protected void SignalPause() { Debugger.OnExecutionInterrupt(new ExecutionInterruptReason()); AllowedToContinue.Reset(); AllowedToContinue.WaitOne(); }
/// <summary> /// Signals that the execution has been stopped. /// </summary> protected void SignalStop() { Debugger.OnExecutionInterrupt(new ExecutionInterruptReason(new NoProgramLoadedException())); }