Example #1
0
        private void TargetObject_Paused(object sender, DebuggerPauseEventArgs e)
        {
            var frame = e.AppDomain.Process.CurrentFrame;

            if (frame.Function.Symbols != null)
            {
                _currentRange = frame.Function.Symbols.GetSequencePoint(frame.GetOffset());
            }
            else
            {
                _currentRange = null;
            }

            DebuggerBase.Instance.DispatchPaused(new ControllerPauseEventArgs(e.Controller, e.Thread, e.Reason));
            OnPaused(new ControllerPauseEventArgs(e.Controller, e.Thread, e.Reason));
        }
        private void TargetObject_Paused(object sender, DebuggerPauseEventArgs e)
        {
            var frame = e.AppDomain.Process.CurrentFrame;

            if (frame.Function.Symbols != null)
                _currentRange = frame.Function.Symbols.GetSequencePoint(frame.GetOffset()); 
            else
                _currentRange = null;

            DebuggerBase.Instance.DispatchPaused(new ControllerPauseEventArgs(e.Controller, e.Thread, e.Reason));
            OnPaused(new ControllerPauseEventArgs(e.Controller, e.Thread, e.Reason));
        }
        protected virtual void OnPaused(DebuggerPauseEventArgs e)
        {
            foreach (var stepper in Steppers)
                stepper.Deactivate();

            if (Paused != null)
                Paused(this, e);
        }
 internal void DispatchBreakEvent(DebuggerPauseEventArgs e)
 {
     OnPaused(e);
 }
 protected virtual void OnPaused(DebuggerPauseEventArgs e)
 {
     if (Paused != null)
         Paused(this, e);
 }
 private void TargetObject_Paused(object sender, DebuggerPauseEventArgs e)
 {
     CurrentFrame = e.Thread.CurrentFrame;
     OnPaused(e);
 }
        public void Break(ICorDebugAppDomain pAppDomain, ICorDebugThread pThread)
        {
            Log("Break opcode hit.");

            var domain = GetProcessWrapper(pAppDomain).GetAppDomain(pAppDomain);
            var thread = domain.GetThread(pThread);

            var eventArgs = new DebuggerPauseEventArgs(domain, thread, PauseReason.Break);
            domain.DispatchBreakEvent(eventArgs);

            FinalizeEvent(eventArgs);
        }