Exception handling needs a full context here to restore properly
authorGeoff Norton <grompf@gmail.com>
Sun, 1 Mar 2015 05:44:40 +0000 (21:44 -0800)
committerGeoff Norton <grompf@gmail.com>
Sun, 1 Mar 2015 05:44:40 +0000 (21:44 -0800)
src/vm/exceptionhandling.cpp

index 5feb07c..da1bd9a 100644 (file)
@@ -4378,7 +4378,7 @@ VOID DECLSPEC_NORETURN DispatchManagedException(PAL_SEHException& ex)
     ULONG64 stackLowAddress = (ULONG64)PAL_GetStackLimit();
 
     // TODO: is there a better way to get the first managed frame?
-    originalExceptionContext.ContextFlags = CONTEXT_CONTROL | CONTEXT_INTEGER;
+    originalExceptionContext.ContextFlags = CONTEXT_FULL;
     GetThread()->GetThreadContext(&originalExceptionContext);
     controlPc = Thread::VirtualUnwindToFirstManagedCallFrame(&originalExceptionContext);