Skip to content

Navigation Menu

Sign in
Sign up

关于断点无法生效 #307

huanzai started this conversation in General
Discussion options

如在程序启动时,没有设置断点,则后续设置的断点都无法生效,尤其是后续创建的协程中无法断点。

目前的逻辑:主协程 sethook 后,子协程创建时会继承主协程的 hook,但是后续如主协程有更新 hook,子协程都无法更新 hook 。

这也就是导致如在程序启动时,没有设置断点(主协程没 sethook),后续的子协程都无法断点(没有时机 sethook)。

不知道我这么理解有没有问题

You must be logged in to vote

Replies: 3 comments

Comment options

官方版本的 lua 确实是有这个问题。如果你用 bee 版本的 lua,它会有协程创建的 hook,调试器会用它来刷新其他 hook。

You must be logged in to vote
0 replies
Comment options

我看了这个方案,确实可行。不过侵入性略高。不能开箱即用。

我看到您也提供了 lua 的方案

rdebug.event("thread", co, 0)

但这个 lua 的方案似乎并未生效?后续还有维护这个方案的计划吗?

You must be logged in to vote
0 replies
Comment options

lua方案需要在lua侧自己手动触发事件,并且无法对在c侧管理的coroutine生效。所以bee的方案才是真的开箱即用。

You must be logged in to vote
0 replies
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet

AltStyle によって変換されたページ (->オリジナル) /