internal void StartDebugging() { if (_vm != null) { return; } _vm = VirtualMachineManager.Connect(new IPEndPoint(_ipAddress, 11000)); _vm.EnableEvents(EventType.AssemblyLoad, EventType.ThreadStart, EventType.ThreadDeath, EventType.AssemblyUnload, EventType.UserBreak, EventType.Exception, EventType.UserLog, EventType.KeepAlive, EventType.TypeLoad); EventSet set = _vm.GetNextEventSet(); if (set.Events.OfType <VMStartEvent>().Any()) { _mainThread = new MonoThread(this, _engine, set.Events[0].Thread); _engine.Events.ThreadStarted(_mainThread); Task.Factory.StartNew(ReceiveThread, TaskCreationOptions.LongRunning); } else { throw new Exception("Didnt get VMStart-Event!"); } }
public MonoExpressionCompleteEvent(MonoEngine engine, MonoThread thread, ObjectValue value, string expression, IDebugProperty2 property = null) { this.engine = engine; this.thread = thread; this.value = value; this.expression = expression; this.property = property; }
public MonoExpressionCompleteEvent(MonoEngine engine, MonoThread thread, ObjectValue value, string expression, IDebugProperty2 property = null) { _engine = engine; _thread = thread; _value = value; _expression = expression; _property = property; }
internal void Step(MonoThread thread, enum_STEPKIND sk) { if (isStepping) { return; } if (currentStepRequest == null) { currentStepRequest = _vm.CreateStepRequest(thread.ThreadMirror); } else { currentStepRequest.Disable(); } isStepping = true; switch (sk) { case enum_STEPKIND.STEP_INTO: currentStepRequest.Depth = StepDepth.Into; break; case enum_STEPKIND.STEP_OUT: currentStepRequest.Depth = StepDepth.Out; break; case enum_STEPKIND.STEP_OVER: currentStepRequest.Depth = StepDepth.Over; break; default: return; } currentStepRequest.Size = StepSize.Line; currentStepRequest.Enable(); _vm.Resume(); }
internal void Execute(MonoThread debuggedMonoThread) { _vm.Resume(); }
/// <summary> /// Adds the specified thread. /// </summary> /// <param name="thread">The thread.</param> /// <param name="monoThread">The mono thread.</param> public void Add(ThreadInfo thread, MonoThread monoThread) { _threads[thread.Id] = monoThread; }