| DebuggerContext {SMRUCC.Rsharp.Interpreter} | .NET clr documentation |
调试器状态管理类
这个类型是整个调试器的核心, 其内部不包含任何的控制台交互代码, 控制台的交互逻辑位于 ConsoleDebuggerFrontend 之中, 使得GUI宿主程序能够通过订阅 @E:SMRUCC.Rsharp.Interpreter.DebuggerContext.OnBreakpointHit 事件 并且调用 @M:SMRUCC.Rsharp.Interpreter.DebuggerContext.Resume(SMRUCC.Rsharp.Interpreter.DebugAction) 函数的方式来复用同一套调试器内核.
在整个环境链之上, 所有的 Environment 对象都是共享 同一个 DebuggerContext 实例的, 请参见 Environment 的构造函数之中的相关实现
# namespace SMRUCC.Rsharp.Interpreter
export class DebuggerContext {
# 断点的集合管理器
breakpoints: BreakpointStore;
# 当前的调试动作
CurrentAction: DebugAction;
# 用于外部(例如UI界面)访问当前的变量环境
CurrentEnvironment: Environment;
# 运行时的检查器, 提供查看变量/调用堆栈以及表达式求值等功能
inspector: DebugInspector;
# 是否处于调试模式?
IsDebugging: boolean;
# 当前的代码块嵌套深度
stackDepth: integer;
}
breakpoints: BreakpointStoreCurrentAction: DebugActioninspector: DebugInspector