/// <summary> /// Debugger stopped handler /// </summary> /// <param name="e"></param> public void DebuggerStop(DebuggerStoppedEventArgs e) { Log.InfoFormat("Debugger stopped"); try { if (e.OpenScript) { OpenFileInVS(e.ScriptFullPath); } RefreshScopedVariables(); RefreshCallStack(); if (!BreakpointManager.ProcessLineBreakpoints(e.ScriptFullPath, e.Line, e.Column)) { if (DebuggerPaused != null) { var scriptLocation = new ScriptLocation(e.ScriptFullPath, e.Line, 0); DebuggerPaused(this, new EventArgs <ScriptLocation>(scriptLocation)); } } } catch (DebugEngineInternalException dbgEx) { Log.Debug(dbgEx.Message); DebuggingService.SetDebuggerResumeAction(DebugEngineConstants.Debugger_Stop); IsDebuggingCommandReady = false; } catch (Exception ex) { Log.Debug(ex.Message); DebuggingService.SetDebuggerResumeAction(DebugEngineConstants.Debugger_Stop); IsDebuggingCommandReady = false; throw; } finally { Log.Debug("Waiting for debuggee to resume."); IsDebuggingCommandReady = true; RefreshPrompt(); } }
/// <summary> /// Continue execution. /// </summary> public void Continue() { Log.Info("Continue"); DebuggingService.SetDebuggerResumeAction(DebugEngineConstants.Debugger_Continue); IsDebuggingCommandReady = false; }
/// <summary> /// Step out of block. /// </summary> public void StepOut() { Log.Info("StepOut"); DebuggingService.SetDebuggerResumeAction(DebugEngineConstants.Debugger_StepOut); IsDebuggingCommandReady = false; }