[docs][coroutines] Revamp "Debugging C++ coroutines" (#142651)
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
This commit is contained in:
parent
34b2e934ea
commit
b8f122812e
File diff suppressed because it is too large
Load Diff
BIN
clang/docs/coro-async-task-continuations.png
Normal file
BIN
clang/docs/coro-async-task-continuations.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 839 KiB |
BIN
clang/docs/coro-generator-suspended.png
Normal file
BIN
clang/docs/coro-generator-suspended.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 654 KiB |
BIN
clang/docs/coro-generator-variables.png
Normal file
BIN
clang/docs/coro-generator-variables.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 756 KiB |
Loading…
x
Reference in New Issue
Block a user