예제 #1
0
 public MonoExpression(MonoEngine engine, MonoThread thread, string expression, ObjectValue value)
 {
     _engine    = engine;
     _thread    = thread;
     _value     = value;
     Expression = expression;
 }
        /// <summary>
        ///     Sends this callback to the specified engine.
        /// </summary>
        /// <param name="callback">The callback.</param>
        /// <param name="engine">The engine.</param>
        /// <param name="eventObject">The event object.</param>
        /// <param name="eventId">The event identifier.</param>
        /// <param name="program">The program.</param>
        /// <param name="thread">The thread.</param>
        public static void Send(this IDebugEventCallback2 callback, MonoEngine engine, IDebugEvent2 eventObject,
                                string eventId, IDebugProgram2 program, IDebugThread2 thread)
        {
            uint attributes;
            var  @event = new Guid(eventId);

            eventObject.GetAttributes(out attributes);
            callback.Event(engine, null, program, thread, eventObject, ref @event, attributes);
        }
예제 #3
0
        public MonoStackFrame(MonoEngine engine, MonoThread thread, Func <StackFrame> frame)
        {
            _engine = engine;
            _thread = thread;
            _frame  = frame;

            var allLocals = frame().GetAllLocals(EvaluationOptions.DefaultOptions);

            _parameters   = frame().GetParameters(EvaluationOptions.DefaultOptions);
            _locals       = allLocals.Where(x => _parameters.All(y => y.Name != x.Name)).ToArray();
            _hasSource    = frame().HasDebugInfo;
            _functionName = frame().SourceLocation.MethodName;
            _documentName = frame().SourceLocation.FileName;
        }
예제 #4
0
        public MonoCallback(IDebugEventCallback2 callback, MonoEngine engine)
        {
            if (callback == null)
            {
                throw new ArgumentNullException(nameof(callback));
            }
            if (engine == null)
            {
                throw new ArgumentNullException(nameof(engine));
            }

            Callback = callback;
            _engine  = engine;
        }
 public MonoMemoryAddress(MonoEngine engine, uint address, MonoDocumentContext documentContext)
 {
     _engine          = engine;
     _address         = 0;
     _documentContext = documentContext;
 }
예제 #6
0
 public MonoThread(MonoEngine engine, ThreadInfo debuggedThread)
 {
     _engine         = engine;
     _debuggedThread = debuggedThread;
 }
예제 #7
0
 public MonoBreakpointResolution(MonoEngine engine, uint address, MonoDocumentContext documentContext)
 {
     _engine          = engine;
     _address         = address;
     _documentContext = documentContext;
 }
 /// <summary>
 ///     Sends this callback to the specified engine.
 /// </summary>
 /// <param name="callback">The callback.</param>
 /// <param name="engine">The engine.</param>
 /// <param name="eventObject">The event object.</param>
 /// <param name="eventId">The event identifier.</param>
 /// <param name="thread">The thread.</param>
 public static void Send(this IDebugEventCallback2 callback, MonoEngine engine, IDebugEvent2 eventObject,
                         string eventId, IDebugThread2 thread)
 {
     callback.Send(engine, eventObject, eventId, engine, thread);
 }