~/talk

If Writing C++ Coroutines Goes Over My Head, Where Do I Even Begin with Debugging?

Talkat ACCU 2025 · 2025-04-01..04-04· [c-and-cpp, testing]
links:none on file
slides:none on file

Covers concrete debugging patterns: sets breakpoints on coroutine customization points (get_return_object, initial_suspend, final_suspend) and steps a homemade suspendable subroutine to show where values land and exceptions propagate; demonstrates std::generator quirks including std::generator heap allocation and the rvalue-reference string iterator that disappears on second read; builds a timeout runner on Nvidia’s senders/receivers runtime and shows a deadlock/livelock caused by parallel forward progress (4-thread pool) and how freezing threads in the debugger reproduces the failure.

AI-written summary · about

  1. 0:00Introduction
  2. 4:16Top-down coroutines
  3. 11:11Standard generator primer
  4. 23:16Concurrency vs parallelism
  5. 26:40Task coroutines
  6. 39:05Monadic coroutines
  7. 48:22Debugging coroutines
  8. 1:00:08Suspendable subroutine
  9. 1:08:49Debugging generators
  10. 1:16:19Forward progress issues
  11. 1:25:40Debugging examples
  12. 1:28:14Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.