Implement refactored Unix managed exception handling
authorJan Vorlicek <janvorli@microsoft.com>
Fri, 2 Oct 2015 12:55:07 +0000 (14:55 +0200)
committerJan Vorlicek <janvorli@microsoft.com>
Sat, 3 Oct 2015 18:19:25 +0000 (20:19 +0200)
commitc252dc52e7b1e95bc7b5bc96f044652738bd9099
treeca63f877705858ad722e9dddb80a8a78c45e46e6
parent9bab2aac9d06f388eedc9fc32f17d0dacd3a36a7
Implement refactored Unix managed exception handling

This change refactors managed exception handling so that we perform full first
pass over both managed and native frames and only after we find target frame,
we perform the second pass.
This helps in debugging of unhandled managed exceptions since the debugger can
kick in at the end of the first pass when the stack frames are still intact and
it can show the context where the exception was fired.

Commit migrated from https://github.com/dotnet/coreclr/commit/a723811c171a3dae340a08f24afedbfc238b7930
src/coreclr/src/pal/inc/pal.h
src/coreclr/src/vm/corhost.cpp
src/coreclr/src/vm/exceptionhandling.cpp
src/coreclr/src/vm/exceptionhandling.h
src/coreclr/src/vm/exceptmacros.h
src/coreclr/src/vm/exstatecommon.h
src/coreclr/src/vm/frames.cpp
src/coreclr/src/vm/frames.h