You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
工作内容
任务清单:
异步调试文档;
将物理调用栈和逻辑调用栈拆开展示;
白名单功能优化;
这周主要是在做白名单的优化还有优化后调试器一些其他功能的调整:
poll()驱动的异步任务,其条目在PollEntryBP(异步函数入口)处创建。同步函数不具备 poll 逻辑,无法在影子栈中正确初始化“协程上下文”,导致逻辑堆栈的根节点识别混乱,进而引发 CID 的错误分配或冗余;this_ptr)。在同步到异步的过渡阶段,代码频繁涉及Pin<&mut Self>等复杂包装。目前的frame.read_var()逻辑无法正确解引用这些 Rust 特有的包装类型,读到了无效的地址值(如0x1、0x4),导致 Addr 内容不可靠和Poll 计数因实例身份识别失败而清零。额外的思考:
关于vscode 的逻辑调用栈面板和物理调用栈分开这个点:
对于现在的这个插件,调用堆栈面板他是局部的逻辑堆栈,树是全局的逻辑调用关系
这个堆栈展示的栈相比于原来的物理栈,只是多了协程的标识,来识别局部的协程逻辑关系
当将 code-debug的功能加进来后,对于用户来说,只要不加 trace 函数,就不会产生逻辑调用栈和树,这样就没必要再多增加一个物理调用栈面板了
会议内容
All reactions