Esempio n. 1
0
        internal void PerformAction(MondDebugAction action)
        {
            TaskCompletionSource <MondDebugAction> breaker;

            lock (_sync)
                breaker = _breaker;

            breaker?.SetResult(action);
        }
Esempio n. 2
0
        public Machine(MondState state)
            : this()
        {
            _state = state;
            Global = MondValue.Object(state);

            _debugAction = MondDebugAction.Run;
            _debugSkip   = false;
            _debugAlign  = false;
            _debugDepth  = 0;
            Debugger     = null;
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
        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;
        }