Ejemplo n.º 1
0
                public OperationRuntimeInvokeHelper(SingleSteppingEngine sse,
							     OperationRuntimeInvoke rti)
                    : base(sse)
                {
                    this.RTI = rti;

                    this.instance = RTI.Instance;
                    this.method = TargetAddress.Null;
                    this.stage = Stage.Uninitialized;

                    language = sse.process.MonoLanguage;
                }
Ejemplo n.º 2
0
            protected override EventResult CallbackCompleted(long data1, long data2, out TargetEventArgs args)
            {
                args = null;
                StackFrame parent_frame = Backtrace.Frames [++level];
                inferior.SetRegisters (parent_frame.Registers);

                Inferior.CallbackFrame cframe = inferior.GetCallbackFrame (parent_frame.StackPointer, true);
                Report.Debug (DebugFlags.SSE, "{0} return: {1} {2}\n{3}", sse, level, cframe, parent_frame);
                if (cframe != null) {
                Report.Debug (DebugFlags.SSE, "{0} return aborting rti: {1}", sse, cframe);
                aborted_rti = sse.AbortRuntimeInvoke (cframe.ID);
                return EventResult.Completed;
                }

                if (level == Backtrace.Count) {
                Report.Debug (DebugFlags.SSE, "{0} completed return", sse);
                return EventResult.Completed;
                }

                DoExecute ();
                return EventResult.Running;
            }