#ifndef FEATURE_PAL
pvControlPc = Thread::VirtualUnwindCallFrame(&ctx, &nonVolRegPtrs);
#else // !FEATURE_PAL
+#ifdef DACCESS_COMPILE
+ HRESULT hr = DacVirtualUnwind(threadId, &ctx, &nonVolRegPtrs);
+ if (FAILED(hr))
+ {
+ DacError(hr);
+ }
+#else // DACCESS_COMPILE
PAL_VirtualUnwind(&ctx, &nonVolRegPtrs);
+#endif // DACCESS_COMPILE
pvControlPc = GetIP(&ctx);
#endif // !FEATURE_PAL
-
if (funCallDepth > 0)
{
--funCallDepth;
#ifndef FEATURE_PAL
pvControlPc = Thread::VirtualUnwindCallFrame(&context, &nonVolContextPtrs);
-#else
- PAL_VirtualUnwind(&context, &nonVolContextPtrs);
+#else // !FEATURE_PAL
+#ifdef DACCESS_COMPILE
+ HRESULT hr = DacVirtualUnwind(threadId, &context, &nonVolContextPtrs);
+ if (FAILED(hr))
+ {
+ DacError(hr);
+ }
+#else // DACCESS_COMPILE
+ PAL_VirtualUnwind(&context, &nonVolContextPtrs);
+#endif // DACCESS_COMPILE
pvControlPc = GetIP(&context);
-#endif
+#endif // !FEATURE_PAL
if (funCallDepth > 0)
{