diff --git a/src/coreclr/debug/daccess/daccess.cpp b/src/coreclr/debug/daccess/daccess.cpp index 14257de4a91082..0630cfa710a37e 100644 --- a/src/coreclr/debug/daccess/daccess.cpp +++ b/src/coreclr/debug/daccess/daccess.cpp @@ -6030,13 +6030,20 @@ ClrDataAccess::GetMethodVarInfo(MethodDesc* methodDesc, SUPPORTS_DAC; COUNT_T countNativeVarInfo; NewHolder nativeVars(NULL); - - NativeCodeVersion requestedNativeCodeVersion = ExecutionManager::GetNativeCodeVersion(address); - if (requestedNativeCodeVersion.IsNull() || requestedNativeCodeVersion.GetNativeCode() == NULL) + TADDR nativeCodeStartAddr; + if (address != NULL) { - return E_INVALIDARG; + NativeCodeVersion requestedNativeCodeVersion = ExecutionManager::GetNativeCodeVersion(address); + if (requestedNativeCodeVersion.IsNull() || requestedNativeCodeVersion.GetNativeCode() == NULL) + { + return E_INVALIDARG; + } + nativeCodeStartAddr = PCODEToPINSTR(requestedNativeCodeVersion.GetNativeCode()); + } + else + { + nativeCodeStartAddr = PCODEToPINSTR(methodDesc->GetNativeCode()); } - TADDR nativeCodeStartAddr = PCODEToPINSTR(requestedNativeCodeVersion.GetNativeCode()); DebugInfoRequest request; request.InitFromStartingAddr(methodDesc, nativeCodeStartAddr); @@ -6081,13 +6088,20 @@ ClrDataAccess::GetMethodNativeMap(MethodDesc* methodDesc, // Use the DebugInfoStore to get IL->Native maps. // It doesn't matter whether we're jitted, ngenned etc. - - NativeCodeVersion requestedNativeCodeVersion = ExecutionManager::GetNativeCodeVersion(address); - if (requestedNativeCodeVersion.IsNull() || requestedNativeCodeVersion.GetNativeCode() == NULL) + TADDR nativeCodeStartAddr; + if (address != NULL) { - return E_INVALIDARG; + NativeCodeVersion requestedNativeCodeVersion = ExecutionManager::GetNativeCodeVersion(address); + if (requestedNativeCodeVersion.IsNull() || requestedNativeCodeVersion.GetNativeCode() == NULL) + { + return E_INVALIDARG; + } + nativeCodeStartAddr = PCODEToPINSTR(requestedNativeCodeVersion.GetNativeCode()); + } + else + { + nativeCodeStartAddr = PCODEToPINSTR(methodDesc->GetNativeCode()); } - TADDR nativeCodeStartAddr = PCODEToPINSTR(requestedNativeCodeVersion.GetNativeCode()); DebugInfoRequest request; request.InitFromStartingAddr(methodDesc, nativeCodeStartAddr);