llvm-project
4a46ead8 - [lldb] Show coro_frame in `std::coroutine_handle` pretty printer (#141516)

Commit
148 days ago
[lldb] Show coro_frame in `std::coroutine_handle` pretty printer (#141516) This commit adjusts the pretty printer for `std::coroutine_handle` based on recent personal experiences with debugging C++20 coroutines: 1. It adds the `coro_frame` member. This member exposes the complete coroutine frame contents, including the suspension point id and all internal variables which the compiler decided to persist into the coroutine frame. While this data is highly compiler-specific, inspecting it can help identify the internal state of suspended coroutines. 2. It includes the `promise` and `coro_frame` members, even if devirtualization failed and we could not infer the promise type / the coro_frame type. Having them available as `void*` pointers can still be useful to identify, e.g., which two coroutine handles have the same frame / promise pointers.
Author
Parents
Loading