Overview
Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Explore a revolutionary approach to exception handling and debugging in C++23 through this 52-minute conference talk that introduces a novel method for capturing complete stacktraces at throw statements without code modifications and with minimal performance overhead. Learn how to solve the fundamental questions C++ developers face about exception origins by implementing per-thread control and capture capabilities that allow selective enabling or disabling of stacktrace capture. Discover techniques for differentiating between throw statements used for error handling versus flow control, enabling fine-grained exception management. Examine the technical details of capturing and formatting stacktraces for logging purposes across production and development environments, with demonstrations of integration with the C++23 header for efficient cross-thread stacktrace handling. Understand how this mechanism simplifies debugging processes while maintaining production-ready efficiency, including its impact when used with coroutines for asynchronous programming. Gain insights into a shared library implementation that can be used as an LD_PRELOAD module to extend exception handling capabilities to external libraries without source code changes, providing a comprehensive solution for maintaining and debugging both proprietary and third-party C++ code.
Syllabus
The Hidden Power of C++23 std::stacktrace for Faster Debugging & Exception Handling - Erez Strauss
Taught by
CppCon