如何重置 edebug 状态(/edebug 断点无法停驻怎么回事)?

调试过程中离开当前窗口,到别的 buffer 做了些操作,导致调试过程中断。

立即 eval-buffer 清除所有的 instrumentation。然后 edebug-defun 重新添加(这一步看起来没什么问题,添加之后在 edebug-remove-instrumentation 有东西可删除),但却始终无法再次进入调试模式

接着在函数内部 edebug-set-breakpoint 设置多个断点,结果发现 edebug 会在每个断点短暂停留一下,然后立即自动继续了。这是怎么回事?

这个是 Emacs 27 才有的,或许跟版本有关?

continue 模式? (elisp) Edebug Execution Modes

  1. 我提 edebug-remove-instrumentation 只是为了说明 edebug-defun (看起来)没有问题。虽然这个函数是 27 才添加,但 instrumentation 的概念一直都有吧?

  2. edebug- 开头的模式我都开/关尝试了(包括 continue),最后还是重启管用😅。下次遇到这个问题再多试试看。