static ObjectValue VsCodeVariableToObjectValue(VSCodeDebuggerSession vsCodeDebuggerSession, string name, string value, int variablesReference) { if (variablesReference == 0) //This is some kind of primitive... { return(ObjectValue.CreatePrimitive(null, new ObjectPath(name), "unknown", new EvaluationResult(value), ObjectValueFlags.ReadOnly)); } else { return(ObjectValue.CreateObject(new VSCodeObjectSource(vsCodeDebuggerSession, variablesReference), new ObjectPath(name), "unknown", new EvaluationResult(value), ObjectValueFlags.ReadOnly, null)); } }
public VSCodeDebuggerBacktrace(VSCodeDebuggerSession vsCodeDebuggerSession, long threadId) { this.vsCodeDebuggerSession = vsCodeDebuggerSession; this.threadId = threadId; var body = vsCodeDebuggerSession.protocolClient.SendRequestAsync(new StackTraceRequest(new StackTraceArguments { threadId = threadId, startFrame = 0, levels = 20 })).Result; frames = body.stackFrames; }
public VSCodeObjectSource(VSCodeDebuggerSession vsCodeDebuggerSession, int variablesReference) { this.vsCodeDebuggerSession = vsCodeDebuggerSession; this.variablesReference = variablesReference; }