CppCon 2018: James McNellis “Unwinding the Stack: Exploring How C++ Exceptions Work on Windows”
—
Presentation Slides, PDFs, Source Code and other presenter materials are available at:
—
If you’re writing modern C code, then it’s likely that you are using exceptions—whether you’re throwing them yourself or just using library code that might throw (e.g., std::vector). Have you ever stopped to think about how exceptions work under the hood? What actually happens at runtime when you throw an exception? How is the right catch statement found?
In this session, we’ll explore how C exceptions actually work in the Visual C implementation on Windows. This session will discuss:
* A very, very brief overview of how exceptions work in the C language
* The code and data structures the Visual C compiler generates to facilitate proper stack unwinding
* Exactly what happens when an exception is thrown, how the right catch statement is found, and how the stack is unwound
* Structured Exception Handling (SEH), the Windows OS feature atop which C ex
1 view
2209
813
12 months ago 01:00:44 2
CppCon 2018: Vinnie Falco “Get rich quick! Using WebSockets and Networking TS”
1 year ago 01:29:16 1
Delivering Safe C++ - Bjarne Stroustrup - CppCon 2023
2 years ago 01:00:46 1
CppCon 2018: Stoyan Nikolov “OOP Is Dead, Long Live Data-oriented Design”
2 years ago 00:06:51 1
CppCon 2018: Timur Doumler “Can I has grammar?”
3 years ago 01:06:26 1
CppCon 2018: James McNellis “Unwinding the Stack: Exploring How C++ Exceptions Work on Windows”
3 years ago 01:03:19 9
CppCon 2018: Jason Turner “Applied Best Practices”
4 years ago 01:28:34 1
CppCon 2018: Kate Gregory “Simplicity: Not Just For Beginners”
4 years ago 01:03:24 3
CppCon 2018: Jefferson Amstutz “Compute More in Less Time Using C++ Simd Wrapper Libraries”
5 years ago 01:01:14 1
CppCon 2018: Kate Gregory “What Do We Mean When We Say Nothing At All?”
5 years ago 00:33:47 2
CppCon 2018: “Compiling Multi-Million Line C++ Code Bases Effortlessly with the Meson Build System“
5 years ago 01:38:32 1
CppCon 2018: Bjarne Stroustrup “Concepts: The Future of Generic Programming (the future is here)”
6 years ago 01:27:35 1
CppCon 2018: Chandler Carruth “Spectre: Secrets, Side-Channels, Sandboxes, and Security”
6 years ago 01:01:00 1
CppCon 2018: Simon Brand “How C++ Debuggers Work”
6 years ago 01:02:20 1
CppCon 2018: Boris Kolpackov “What to Expect from a Next-Generation C++ Build System”
6 years ago 00:08:06 1
CppCon 2018: Arthur O’Dwyer “Trivially Relocatable”
6 years ago 00:04:42 1
CppCon 2018: Ezra Chung “Forwarding Values... and Backwarding Them Too?“
6 years ago 00:29:00 2
CppCon 2018: Mateusz Pusz “Effective replacement of dynamic polymorphism with std::variant”
6 years ago 00:58:40 1
CppCon 2018: Nathan Sidwell “C++ Modules”
6 years ago 00:26:31 1
CppCon 2018: Arthur O’Dwyer “Return Value Optimization: Harder Than It Looks”
6 years ago 00:58:42 1
CppCon 2018: Christopher Di Bella “How to Teach C++ and Influence a Generation”
6 years ago 00:58:20 4
CppCon 2018: “TheLandscape and Exciting New Future of Safe Reclamation for High Performance”
6 years ago 01:08:40 1
CppCon 2018: Louis Dionne “Compile-time programming and reflection in C++20 and beyond”