public DebugOptions CopyTo(DebugOptions other)
 {
     other.DebugOptionsProvider    = DebugOptionsProvider;
     other.StepperInterceptMask    = StepperInterceptMask;
     other.StepperUnmappedStopMask = StepperUnmappedStopMask;
     other.StepperJMC = StepperJMC;
     other.IgnoreBreakInstructions           = IgnoreBreakInstructions;
     other.LogMessages                       = LogMessages;
     other.ExceptionCallbacksOutsideOfMyCode = ExceptionCallbacksOutsideOfMyCode;
     other.NGENPolicy = NGENPolicy;
     return(other);
 }
Exemple #2
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));
        }
Exemple #3
0
 public DebugOptions CopyTo(DebugOptions other)
 {
     other.StepperInterceptMask    = this.StepperInterceptMask;
     other.StepperUnmappedStopMask = this.StepperUnmappedStopMask;
     other.StepperJMC                        = this.StepperJMC;
     other.JITCompilerFlags                  = this.JITCompilerFlags;
     other.ModuleTrackJITInfo                = this.ModuleTrackJITInfo;
     other.ModuleAllowJitOptimizations       = this.ModuleAllowJitOptimizations;
     other.ModuleClassLoadCallbacks          = this.ModuleClassLoadCallbacks;
     other.IgnoreBreakInstructions           = this.IgnoreBreakInstructions;
     other.LogMessages                       = this.LogMessages;
     other.ExceptionCallbacksOutsideOfMyCode = this.ExceptionCallbacksOutsideOfMyCode;
     other.NGENPolicy                        = this.NGENPolicy;
     return(other);
 }
Exemple #4
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));
		}
Exemple #5
0
		public DebugOptions CopyTo(DebugOptions other) {
			other.StepperInterceptMask = this.StepperInterceptMask;
			other.StepperUnmappedStopMask = this.StepperUnmappedStopMask;
			other.StepperJMC = this.StepperJMC;
			other.JITCompilerFlags = this.JITCompilerFlags;
			other.ModuleTrackJITInfo = this.ModuleTrackJITInfo;
			other.ModuleAllowJitOptimizations = this.ModuleAllowJitOptimizations;
			other.ModuleClassLoadCallbacks = this.ModuleClassLoadCallbacks;
			other.IgnoreBreakInstructions = this.IgnoreBreakInstructions;
			other.LogMessages = this.LogMessages;
			other.ExceptionCallbacksOutsideOfMyCode = this.ExceptionCallbacksOutsideOfMyCode;
			other.NGENPolicy = this.NGENPolicy;
			return other;
		}