public MonoExpression(MonoEngine engine, MonoThread thread, string expression, ObjectValue value) { this.engine = engine; this.thread = thread; this.value = value; Expression = expression; }
public MonoStackFrame(MonoEngine engine, MonoThread thread, StackFrame frame) { this.engine = engine; this.thread = thread; this.frame = frame; var allLocals = frame.GetAllLocals(EvaluationOptions.DefaultOptions); parameters = frame.GetParameters(EvaluationOptions.DefaultOptions); locals = allLocals.Where(x => !parameters.Any(y => y.Name == x.Name)).ToArray(); lineNumber = (uint)frame.SourceLocation.Line; hasSource = frame.HasDebugInfo; functionName = frame.SourceLocation.MethodName; documentName = frame.SourceLocation.FileName; }
int IDebugProgram2.EnumThreads(out IEnumDebugThreads2 ppEnum) { var threads = threadManager.All.ToArray(); var threadObjects = new MonoThread[threads.Length]; for (int i = 0; i < threads.Length; i++) { threadObjects[i] = threads[i]; } ppEnum = new MonoThreadEnum(threadObjects); return(VSConstants.S_OK); }
public void Add(ThreadInfo thread, MonoThread monoThread) { threads[thread.Id] = monoThread; }
// Gets the thread associated with a stack frame. int IDebugStackFrame2.GetThread(out IDebugThread2 thread) { thread = this.thread; return(VSConstants.S_OK); }