Exemplo n.º 1
0
		internal DnAppDomain(DnProcess ownerProcess, ICorDebugAppDomain appDomain, int incrementedId) {
			this.ownerProcess = ownerProcess;
			this.assemblies = new DebuggerCollection<ICorDebugAssembly, DnAssembly>(CreateAssembly);
			this.appDomain = new CorAppDomain(appDomain);
			this.incrementedId = incrementedId;
			NameChanged();
		}
Exemplo n.º 2
0
 internal DnAssembly(DnAppDomain appDomain, ICorDebugAssembly assembly, int incrementedId)
 {
     this.appDomain = appDomain;
     this.modules = new DebuggerCollection<ICorDebugModule, DnModule>(CreateModule);
     this.assembly = new CorAssembly(assembly);
     this.incrementedId = incrementedId;
 }
Exemplo n.º 3
0
 internal DnProcess(DnDebugger ownerDebugger, ICorDebugProcess process, int incrementedId)
 {
     this.ownerDebugger = ownerDebugger;
     this.appDomains = new DebuggerCollection<ICorDebugAppDomain, DnAppDomain>(CreateAppDomain);
     this.threads = new DebuggerCollection<ICorDebugThread, DnThread>(CreateThread);
     this.process = new CorProcess(process);
     this.incrementedId = incrementedId;
 }
Exemplo n.º 4
0
		internal DnAppDomain(DnProcess ownerProcess, ICorDebugAppDomain appDomain, int uniqueId, int uniqueIdProcess) {
			Process = ownerProcess;
			assemblies = new DebuggerCollection<ICorDebugAssembly, DnAssembly>(CreateAssembly);
			CorAppDomain = new CorAppDomain(appDomain);
			UniqueId = uniqueId;
			UniqueIdProcess = uniqueIdProcess;
			NameChanged();
		}
Exemplo n.º 5
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));
        }
Exemplo n.º 6
0
		internal DnAssembly(DnAppDomain appDomain, ICorDebugAssembly assembly, int uniqueId, int uniqueIdProcess, int uniqueIdAppDomain) {
			AppDomain = appDomain;
			modules = new DebuggerCollection<ICorDebugModule, DnModule>(CreateModule);
			CorAssembly = new CorAssembly(assembly);
			UniqueId = uniqueId;
			UniqueIdProcess = uniqueIdProcess;
			UniqueIdAppDomain = uniqueIdAppDomain;
		}
Exemplo n.º 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));
		}