From: Steve MacLean Date: Tue, 24 Mar 2020 16:16:34 +0000 (-0400) Subject: dotnet-dump analyze dso (#944) X-Git-Tag: submit/tizen_5.5/20200504.045052~11^2^2~41 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=692e30744e35acf90f386bd58bee80878c044d77;p=platform%2Fcore%2Fdotnet%2Fdiagnostics.git dotnet-dump analyze dso (#944) Fix dso for cross dac case --- diff --git a/src/SOS/Strike/strike.cpp b/src/SOS/Strike/strike.cpp index fb44ec32a..61b30ef01 100644 --- a/src/SOS/Strike/strike.cpp +++ b/src/SOS/Strike/strike.cpp @@ -642,15 +642,19 @@ HRESULT DumpStackObjectsRaw(size_t nArg, __in_z LPSTR exprBottom, __in_z LPSTR e } #ifndef FEATURE_PAL - NT_TIB teb; - ULONG64 dwTebAddr=0; - HRESULT hr = g_ExtSystem->GetCurrentThreadTeb(&dwTebAddr); - if (SUCCEEDED(hr) && SafeReadMemory (TO_TADDR(dwTebAddr), &teb, sizeof (NT_TIB), NULL)) + if ((g_pRuntime->GetRuntimeConfiguration() == IRuntime::WindowsCore) || + (g_pRuntime->GetRuntimeConfiguration() == IRuntime::WindowsDesktop)) { - if (StackTop > TO_TADDR(teb.StackLimit) && StackTop <= TO_TADDR(teb.StackBase)) + NT_TIB teb; + ULONG64 dwTebAddr = 0; + HRESULT hr = g_ExtSystem->GetCurrentThreadTeb(&dwTebAddr); + if (SUCCEEDED(hr) && SafeReadMemory(TO_TADDR(dwTebAddr), &teb, sizeof(NT_TIB), NULL)) { - if (StackBottom == 0 || StackBottom > TO_TADDR(teb.StackBase)) - StackBottom = TO_TADDR(teb.StackBase); + if (StackTop > TO_TADDR(teb.StackLimit) && StackTop <= TO_TADDR(teb.StackBase)) + { + if (StackBottom == 0 || StackBottom > TO_TADDR(teb.StackBase)) + StackBottom = TO_TADDR(teb.StackBase); + } } } #endif