-
Notifications
You must be signed in to change notification settings - Fork 4.5k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
New exception handling diagnostic fixes (#96065)
* New exception handling diagnostic fixes This change * Adds debugger and profiler events in the right places and order * Adds debugger exception interception implementation * Ensures that the new managed exceptino handling frames are not visible to the debugger stack trace * Fixes some missing frames on stack traces (coming from HelperMethodFrame) * Moves first chance exception handling to the native code. It is necessary to ensure that the exception stack trace contains frames from the explicit frames that have MethodDesc at the time the event fires. * Makes some refactoring around the ExInfo - the CONTEXT and REGDISPLAY are now in the ExInfo, the ExInfo contains the original exception pointers. * Fixes one case when an UnhandledException at the boundary of managed and native code was not handled correctly. * Changes the way an unhandled exception in exception filter is swallowed. The stack frame iterator was having issues with the fact that the exception "leaked" from the actual filter and was caught by another filter in the managed EH. Now the exception is always swallowed at the filter. * Fix bad merge * Fix win x86 build break * Reflect PR feedback * Fix Watson not being triggered on unhandled exception * Modify the unhandled exception processing Slight modification of the code enables second pass for unhandled exceptions. That makes finallys get called the same way as without the new exception handling. * Fix accidental edit
- Loading branch information
Showing
32 changed files
with
810 additions
and
299 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.