// Continue is called from the SDM when it wants execution to continue in the debugee // but have stepping state remain. An example is when a tracepoint is executed, // and the debugger does not want to actually enter break mode. public int Continue(IDebugThread2 pThread) { // VS Code currently isn't providing a thread Id in certain cases. Work around this by handling null values. AD7Thread thread = pThread as AD7Thread; try { if (_pollThread.IsPollThread()) { _debuggedProcess.Continue(thread?.GetDebuggedThread()); } else { _pollThread.RunOperation(() => _debuggedProcess.Continue(thread?.GetDebuggedThread())); } } catch (InvalidCoreDumpOperationException) { return(AD7_HRESULT.E_CRASHDUMP_UNSUPPORTED); } catch (Exception e) { _engineCallback.OnError(EngineUtils.GetExceptionDescription(e)); return(Constants.E_ABORT); } return(Constants.S_OK); }
//} internal void OnPostedOperationError(object sender, Exception e) { if (this.ProcessState == MICore.ProcessState.Exited) { return; // ignore exceptions after the process has exited } string exceptionMessage = e.Message.TrimEnd(' ', '\t', '.', '\r', '\n'); string userMessage = string.Format(CultureInfo.CurrentCulture, MICoreResources.Error_ExceptionInOperation, exceptionMessage); _callback.OnError(userMessage); }