diff options
Diffstat (limited to 'src/debug/daccess/request.cpp')
-rw-r--r-- | src/debug/daccess/request.cpp | 37 |
1 files changed, 5 insertions, 32 deletions
diff --git a/src/debug/daccess/request.cpp b/src/debug/daccess/request.cpp index 2365fdf959..dff24c8eb6 100644 --- a/src/debug/daccess/request.cpp +++ b/src/debug/daccess/request.cpp @@ -2316,9 +2316,8 @@ ClrDataAccess::GetAppDomainData(CLRDATA_ADDRESS addr, struct DacpAppDomainData * if (pBaseDomain->IsAppDomain()) { AppDomain * pAppDomain = pBaseDomain->AsAppDomain(); - appdomainData->DomainLocalBlock = appdomainData->AppDomainPtr + - offsetof(AppDomain, m_sDomainLocalBlock); - appdomainData->pDomainLocalModules = PTR_CDADDR(pAppDomain->m_sDomainLocalBlock.m_pModuleSlots); + appdomainData->DomainLocalBlock = 0; + appdomainData->pDomainLocalModules = 0; appdomainData->dwId = DefaultADID; appdomainData->appDomainStage = (DacpAppDomainDataStage)pAppDomain->m_Stage.Load(); @@ -3197,7 +3196,7 @@ ClrDataAccess::GetDomainLocalModuleDataFromModule(CLRDATA_ADDRESS addr, struct D SOSDacEnter(); Module* pModule = PTR_Module(TO_TADDR(addr)); - DomainLocalModule* pLocalModule = PTR_DomainLocalModule(pModule->GetDomainLocalModule(NULL)); + DomainLocalModule* pLocalModule = PTR_DomainLocalModule(pModule->GetDomainLocalModule()); if (!pLocalModule) { hr = E_INVALIDARG; @@ -3217,36 +3216,10 @@ ClrDataAccess::GetDomainLocalModuleDataFromModule(CLRDATA_ADDRESS addr, struct D HRESULT ClrDataAccess::GetDomainLocalModuleDataFromAppDomain(CLRDATA_ADDRESS appDomainAddr, int moduleID, struct DacpDomainLocalModuleData *pLocalModuleData) { - if (appDomainAddr == 0 || moduleID < 0 || pLocalModuleData == NULL) - return E_INVALIDARG; - - SOSDacEnter(); - - pLocalModuleData->appDomainAddr = appDomainAddr; - pLocalModuleData->ModuleID = moduleID; - - AppDomain *pAppDomain = PTR_AppDomain(TO_TADDR(appDomainAddr)); - ModuleIndex index = Module::IDToIndex(moduleID); - DomainLocalModule* pLocalModule = pAppDomain->GetDomainLocalBlock()->GetModuleSlot(index); - if (!pLocalModule) - { - hr = E_INVALIDARG; - } - else - { - pLocalModuleData->pGCStaticDataStart = TO_CDADDR(PTR_TO_TADDR(pLocalModule->GetPrecomputedGCStaticsBasePointer())); - pLocalModuleData->pNonGCStaticDataStart = TO_CDADDR(pLocalModule->GetPrecomputedNonGCStaticsBasePointer()); - pLocalModuleData->pDynamicClassTable = PTR_CDADDR(pLocalModule->m_pDynamicClassTable.Load()); - pLocalModuleData->pClassData = (TADDR) (PTR_HOST_MEMBER_TADDR(DomainLocalModule, pLocalModule, m_pDataBlob)); - } - - SOSDacLeave(); - return hr; + // CoreCLR does not support multi-appdomain shared assembly loading. Thus, a non-pointer sized moduleID cannot exist. + return E_INVALIDARG; } - - - HRESULT ClrDataAccess::GetThreadLocalModuleData(CLRDATA_ADDRESS thread, unsigned int index, struct DacpThreadLocalModuleData *pLocalModuleData) { |