Internals of Exceptions
summary
Walks through concrete Windows internals: shows SEH and VEH mechanics, differences between x86 stack‑chain handlers and x64/table‑based handlers, and how CLR maps exceptions to those codes. Live demos modify CPU registers to resume after a divide‑by‑zero, hijack the Thread constructor with emitted machine code to catch otherwise unhandled thread exceptions, and run a VEH + setjmp/longjmp sequence to recover from StackOverflow. Presents async/await pitfalls (never use async void), details about 10‑iteration continue behavior for division faults, and what works versus what is unsafe.
AI-written summary · about
chapters (22)
- 0:00Introduction
- 1:32Agenda
- 5:28Exception Handling SH
- 9:05Exception Handling VH
- 11:33Other Methods
- 13:28Implementation Details
- 15:08Handling Exceptions
- 20:18Handling Everything
- 22:53Uncatchable Exceptions
- 24:23Exceptions from In
- 28:48Constraint Executed Region
- 33:53LowLevel Exceptions
- 35:53Stackbased Exceptions
- 37:11Seh Exceptions
- 43:22Intermediate Language Exceptions
- 44:55dogma
- 46:50return
- 48:43pass exception system
- 50:06fred abort
- 51:08access violation
- 53:23stack overflow exception
- 55:40QA time
related talks
51mInternals of Exceptions
01h 00mC# Language Internals
01h 06mUnwinding the Stack: Exploring How C++ Exceptions Work on Windows
51mAsync Internals in .NET
31m“Enough x86 Assembly to Be Dangerous”
01h 05mHow to Survive the Hardware Assisted Control-Flow Integrity Enforcement
01h 24mWindows Native API
30mNested Virtualization (X86) Part I
