internal void PerformAction(MondDebugAction action) { TaskCompletionSource <MondDebugAction> breaker; lock (_sync) breaker = _breaker; breaker?.SetResult(action); }
public Machine(MondState state) : this() { _state = state; Global = MondValue.Object(state); _debugAction = MondDebugAction.Run; _debugSkip = false; _debugAlign = false; _debugDepth = 0; Debugger = null; }
public Machine(MondState state) : this() { _state = state; Global = new MondValue(state); Global["__ops"] = new MondValue(state); _debugAction = MondDebugAction.Run; _debugSkip = false; _debugAlign = false; _debugDepth = 0; Debugger = null; }
private void DebuggerBreak(MondProgram program, Frame locals, Frame args, int address, int initialCallDepth) { var context = new MondDebugContext( _state, program, address, locals, args, _callStack, _callStackSize, initialCallDepth); _debugAction = Debugger.Break(context, address); _debugAlign = false; _debugDepth = 0; }