Example #1
0
 protected DbgEngineImpl(DbgEngineImplDependencies deps, DbgManager dbgManager, DbgStartKind startKind)
 {
     if (deps == null)
     {
         throw new ArgumentNullException(nameof(deps));
     }
     StartKind                          = startKind;
     lockObj                            = new object();
     toEngineAppDomain                  = new Dictionary <DnAppDomain, DbgEngineAppDomain>();
     toEngineModule                     = new Dictionary <CorModule, DbgEngineModule>();
     toEngineThread                     = new Dictionary <DnThread, DbgEngineThread>();
     toAssemblyModules                  = new Dictionary <DnAssembly, List <DnModule> >();
     stackFrameData                     = new StackFrameData();
     objectHolders                      = new HashSet <DnDebuggerObjectHolder>();
     debuggerSettings                   = deps.DebuggerSettings;
     dbgDotNetCodeRangeService          = deps.DotNetCodeRangeService;
     dbgDotNetNativeCodeLocationFactory = deps.DbgDotNetNativeCodeLocationFactory;
     dbgDotNetCodeLocationFactory       = deps.DbgDotNetCodeLocationFactory;
     this.dbgManager                    = dbgManager ?? throw new ArgumentNullException(nameof(dbgManager));
     dbgModuleMemoryRefreshedNotifier   = deps.DbgModuleMemoryRefreshedNotifier;
     clrDacProvider                     = deps.ClrDacProvider;
     clrDac         = NullClrDac.Instance;
     debuggerThread = new DebuggerThread("CorDebug");
     debuggerThread.CallDispatcherRun();
     dotNetValuesToCloseOnContinue = new List <DbgDotNetValueImpl>();
     valuesToCloseNow      = new List <DbgCorValueHolder>();
     dmdRuntime            = DmdRuntimeFactory.CreateRuntime(new DmdEvaluatorImpl(this), IntPtr.Size == 4 ? DmdImageFileMachine.I386 : DmdImageFileMachine.AMD64);
     toDynamicModuleHelper = new Dictionary <CorModule, DmdDynamicModuleHelperImpl>();
     DmdDispatcher         = new DmdDispatcherImpl(this);
     RawMetadataService    = deps.RawMetadataService;
 }
Example #2
0
 DbgEngineImplDependencies(DbgDotNetCodeRangeService dbgDotNetCodeRangeService, DebuggerSettings debuggerSettings, Lazy <DbgDotNetNativeCodeLocationFactory> dbgDotNetNativeCodeLocationFactory, Lazy <DbgDotNetCodeLocationFactory> dbgDotNetCodeLocationFactory, ClrDacProvider clrDacProvider, DbgModuleMemoryRefreshedNotifier2 dbgModuleMemoryRefreshedNotifier, DbgRawMetadataService rawMetadataService)
 {
     DotNetCodeRangeService             = dbgDotNetCodeRangeService;
     DebuggerSettings                   = debuggerSettings;
     DbgDotNetNativeCodeLocationFactory = dbgDotNetNativeCodeLocationFactory;
     DbgDotNetCodeLocationFactory       = dbgDotNetCodeLocationFactory;
     ClrDacProvider = clrDacProvider;
     DbgModuleMemoryRefreshedNotifier = dbgModuleMemoryRefreshedNotifier;
     RawMetadataService = rawMetadataService;
 }