簡體   English   中英

在 C++20 中調試協程

[英]Debugging Coroutines in C++20

隨着即將到來的 C++20 標准,我們將擁有協程供我們使用。 基於協程調試代碼的最佳方法是什么? 可以做些什么來跟蹤呼叫流?

協程不是魔術。 他們只是有一個不同的基於隱藏代碼的 function 流程。 Gdb 和其他人已經可以調試它們。

我不確定您是否了解調試器的工作原理,但很簡單,在每個匯編代碼行中,您的 C++ 源代碼中都有一行與之關聯。 這些鏈接稱為“調試符號”。 您需要問的唯一問題是:是否有與您的協程及其調用流程相關的代碼行? 答案是肯定的。

總之:標准調試器沒有理由不使用它們。 我什至不相信有很多東西可以添加到調試器以使它們支持協程。

https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99215 gcc/gdb 存在支持協程調試的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM