public override void StackTrace(Response response, dynamic arguments) { var firstFrameIdx = (int?)arguments.startFrame ?? 0; var limit = (int?)arguments.levels ?? 0; var processFrames = _process.GetStackTrace(firstFrameIdx, limit); var frames = new VSCodeDebug.StackFrame[processFrames.Length]; for (int i = 0; i < processFrames.Length; i++) { frames[i] = new VSCodeDebug.StackFrame( _framesHandles.Create(processFrames[i]), processFrames[i].MethodName, new Source(processFrames[i].Source), processFrames[i].LineNumber, 0); } SendResponse(response, new StackTraceResponseBody(frames)); }
public override void StackTrace(Response response, dynamic arguments) { SessionLog.WriteLine("Stacktrace request accepted"); SessionLog.WriteLine(arguments.ToString()); var firstFrameIdx = (int?)arguments.startFrame ?? 0; var limit = (int?)arguments.levels ?? 0; var threadId = (int)arguments.threadId; var processFrames = _process.GetStackTrace(threadId, firstFrameIdx, limit); var frames = new VSCodeDebug.StackFrame[processFrames.Length]; for (int i = 0; i < processFrames.Length; i++) { frames[i] = new VSCodeDebug.StackFrame( _framesHandles.Create(processFrames[i]), processFrames[i].MethodName, new Source(processFrames[i].Source), processFrames[i].LineNumber, 0); } SendResponse(response, new StackTraceResponseBody(frames)); }