private void HandleStep(StepEvent stepEvent)
        {
            if (currentStepRequest != null)
            {
                currentStepRequest.Enabled = false;
                currentStepRequest = null;
            }

            _engine.Callback.StepCompleted(_mainThread);
            logger.Trace("Stepping: {0}:{1}", stepEvent.Method.Name, stepEvent.Location);

            isStepping = false;
        }
Пример #2
0
 private void OnStep(StepEvent stepEvent)
 {
     Trace("OnStep event");
     stepEvent.Request.Disable();
     _requestWaitingForResponse = null;
     OnVMGotSuspended(stepEvent);
 }
Пример #3
0
        internal void OnStep(StepEvent e)
        {
            var frame = e.Thread.GetFrames()[0];		// in mono 2.6.7 we could get the location from the event, but that no longer works with mono 2.8
            Location location = frame.Location;
            if (location != null)
                Log.WriteLine(TraceLevel.Info, "Debugger", "Stepped to {0}:{1:X4} in {2}:{3}", e.Method.FullName, frame.ILOffset, location.SourceFile, location.LineNumber);
            else
                Log.WriteLine(TraceLevel.Info, "Debugger", "Stepped to {0}:{1:X4}", e.Method.FullName, frame.ILOffset);

            m_currentThread = e.Thread;
            m_stepRequest.Disable();
            m_stepRequest = null;

            var context = new Context(e.Thread, e.Method, frame.ILOffset);
            Broadcaster.Invoke("debugger processed step event", context);
        }
Пример #4
0
        private HandlerAction DoStepEvent(StepEvent e)
        {
            DoTransition(State.Paused);

            NSApplication.sharedApplication().BeginInvoke(() => m_debugger.OnStep(e));

            return HandlerAction.Suspend;
        }
Пример #5
0
        private void HandleStep(StepEvent stepEvent)
        {
            _engine.Events.StepCompleted(_mainThread);
            logger.Trace("Stepping: {0}:{1}", stepEvent.Method.Name, stepEvent.Location);

            isStepping = false;
        }