This commit is a major overhaul of the documentation on debugging C++
coroutines with the following goals:
* Make it more accessible to casual C++ programmers, i.e. non-toolchain
developers. Move the low-level details around ABI further down, and
instead start with real-life examples and copy-paste-friendly code,
first.
* Cover LLDB in addition to GCC. Provide copy-pasteable scripts for LLDB
and not only GCC.
* Cover additional topics, such as:
* single-stepping into a coroutine
* using `__builtin_return_address` for tracking suspension points
(inspired by Folly's blog series on coroutine debugging)
* Document LLDB's support for devirtualization of
`std::coroutine_handle`, both from an end user perspective as well as
its internal implementation
654 KiB
2168x1454px
654 KiB
2168x1454px