c++ - 在 C++20 中调试协程

标签 c++ coroutine c++20

随着即将到来的 C++20 标准,我们将拥有协程。基于协程调试代码的最佳方式是什么?可以做些什么来跟踪调用流程?

最佳答案

协程不是魔术。它们只是具有基于隐藏代码的不同功能流程。 Gdb 和其他人已经可以调试它们。

我不确定您是否了解调试器的工作原理,但这只是在每个汇编代码行中,您的 C++ 源代码中都有一行与之关联。这些链接称为“调试符号”。您需要问的唯一问题是:是否有与您的协程及其调用流程关联的代码行?答案是肯定的。

总而言之:标准调试器没有理由不使用它们。我什至不相信有什么可以添加到调试器来使它们支持协程。

关于c++ - 在 C++20 中调试协程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58053252/

相关文章:

c++ - 更自然的 boost::bind 替代方案?

linux - 为什么 Linux 不使用纤程而不是抢占式多任务处理?

c++ - 如何使概念失败并显示自定义错误消息(C++ 20)

c++ - 如何将 std::condition_variable 与我自己的互斥体包装器一起使用

c++ - 为什么我在使用 fwrite() 和 fread() 时遇到问题?

c++ - 使用 Visual C++ 2010 (VS2010) SP1 以 Windows XP SP2 为目标

c++ - 优化代码时,编译器在汇编中做了什么?即-O2标志

sockets - 如何让我的异步客户端调用套接字服务器并等待响应

c++ - 基于开关的协程

c++ - 将字符串文字传递给模板字符数组参数