[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:
committed by
GitHub
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 |
Reference in New Issue
Block a user