Пример #1
0
 internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher)
 {
     this.debugger = debugger;
     this.debugMessageDispatcher = debugMessageDispatcher;
     this.SuspendOtherThreads    = true;
     this.useTotalTimeout        = true;
 }
Пример #2
0
 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;
 }
Пример #3
0
        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));
        }
Пример #4
0
 public FuncEvalFactory(IDebugMessageDispatcher debugMessageDispatcher)
 {
     funcEvalState = new FuncEvalState();
     this.debugMessageDispatcher = debugMessageDispatcher;
 }
Пример #5
0
 internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher)
 {
     this.debugger = debugger;
     this.debugMessageDispatcher = debugMessageDispatcher;
     this.suspendOtherThreads    = true;
 }
Пример #6
0
 internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher)
 {
     this.debugger = debugger;
     this.debugMessageDispatcher = debugMessageDispatcher;
     this.suspendOtherThreads = true;
 }
Пример #7
0
		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));
		}
Пример #8
0
		internal DnEval(DnDebugger debugger, IDebugMessageDispatcher debugMessageDispatcher) {
			this.debugger = debugger;
			this.debugMessageDispatcher = debugMessageDispatcher;
			SuspendOtherThreads = true;
			useTotalTimeout = true;
		}