internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher) { this.debugger = debugger; this.debugMessageDispatcher = debugMessageDispatcher; this.SuspendOtherThreads = true; this.useTotalTimeout = true; }
public FuncEvalImpl(IDebugMessageDispatcher debugMessageDispatcher, FuncEvalFactory.FuncEvalState funcEvalState, Action <FuncEval> onEvalComplete, ThreadMirror thread, TimeSpan funcEvalTimeout, bool suspendOtherThreads, CancellationToken cancellationToken) { this.debugMessageDispatcher = debugMessageDispatcher ?? throw new ArgumentNullException(nameof(debugMessageDispatcher)); this.funcEvalState = funcEvalState ?? throw new ArgumentNullException(nameof(funcEvalState)); this.onEvalComplete = onEvalComplete ?? throw new ArgumentNullException(nameof(onEvalComplete)); this.thread = thread ?? throw new ArgumentNullException(nameof(thread)); endTime = DateTime.UtcNow + funcEvalTimeout; this.suspendOtherThreads = suspendOtherThreads; this.cancellationToken = cancellationToken; }
DnDebugger(ICorDebug corDebug, DebugOptions debugOptions, IDebugMessageDispatcher debugMessageDispatcher, string debuggeeVersion) { if (debugMessageDispatcher == null) throw new ArgumentNullException("debugMessageDispatcher"); this.debuggerManagedThreadId = Thread.CurrentThread.ManagedThreadId; this.processes = new DebuggerCollection<ICorDebugProcess, DnProcess>(CreateDnProcess); this.debugMessageDispatcher = debugMessageDispatcher; this.corDebug = corDebug; this.debugOptions = debugOptions ?? new DebugOptions(); this.debuggeeVersion = debuggeeVersion ?? string.Empty; corDebug.Initialize(); corDebug.SetManagedHandler(new CorDebugManagedCallback(this)); }
public FuncEvalFactory(IDebugMessageDispatcher debugMessageDispatcher) { funcEvalState = new FuncEvalState(); this.debugMessageDispatcher = debugMessageDispatcher; }
internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher) { this.debugger = debugger; this.debugMessageDispatcher = debugMessageDispatcher; this.suspendOtherThreads = true; }
DnDebugger(ICorDebug corDebug, DebugOptions debugOptions, IDebugMessageDispatcher debugMessageDispatcher, string debuggeeVersion) { if (debugMessageDispatcher == null) throw new ArgumentNullException(nameof(debugMessageDispatcher)); debuggerManagedThreadId = Thread.CurrentThread.ManagedThreadId; processes = new DebuggerCollection<ICorDebugProcess, DnProcess>(CreateDnProcess); this.debugMessageDispatcher = debugMessageDispatcher; this.corDebug = corDebug; this.debugOptions = debugOptions ?? new DebugOptions(); DebuggeeVersion = debuggeeVersion ?? string.Empty; // I have not tested debugging with CLR 1.x. It's too old to support it so this is a won't fix if (DebuggeeVersion.StartsWith("1.")) throw new NotImplementedException("Can't debug .NET 1.x assemblies. Add an App.config file to force using .NET 2.0 or later"); corDebug.Initialize(); corDebug.SetManagedHandler(new CorDebugManagedCallback(this)); }
internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher) { this.debugger = debugger; this.debugMessageDispatcher = debugMessageDispatcher; SuspendOtherThreads = true; useTotalTimeout = true; }