Esempio n. 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;
 }
Esempio n. 2
0
 public DbgEngineStepperImpl(DbgDotNetCodeRangeService dbgDotNetCodeRangeService, DbgEngineImpl engine, DbgThread thread, DnThread dnThread)
 {
     this.dbgDotNetCodeRangeService = dbgDotNetCodeRangeService ?? throw new ArgumentNullException(nameof(dbgDotNetCodeRangeService));
     this.engine   = engine ?? throw new ArgumentNullException(nameof(engine));
     this.thread   = thread ?? throw new ArgumentNullException(nameof(thread));
     this.dnThread = dnThread ?? throw new ArgumentNullException(nameof(dnThread));
 }
Esempio n. 3
0
 DbgEngineImplDependencies(DbgDotNetCodeRangeService dbgDotNetCodeRangeService, DebuggerSettings debuggerSettings, Lazy <DbgDotNetCodeLocationFactory> dbgDotNetCodeLocationFactory, DbgModuleMemoryRefreshedNotifier2 dbgModuleMemoryRefreshedNotifier, DbgRawMetadataService rawMetadataService)
 {
     DotNetCodeRangeService           = dbgDotNetCodeRangeService;
     DebuggerSettings                 = debuggerSettings;
     DbgDotNetCodeLocationFactory     = dbgDotNetCodeLocationFactory;
     DbgModuleMemoryRefreshedNotifier = dbgModuleMemoryRefreshedNotifier;
     RawMetadataService               = rawMetadataService;
 }