使用 Doom Emacs 时有经常查看、学习、掌握某些命令、函数的用法的需求,也因此需要对某个函数进行单步调试的方法或工作流。
- 在对应的函数上启动
+emacs-lisp/edebug-instrument-defun-on以打开调试; M-x执行目标调试函数或者在ielm执行需要调试的函数,以edebug-mode进入调试函数代码体并暂停;- 如果在
evil-modenormal 模式,最好C-z以进入emacs-mode; - 断点操作:光标跳到一个位置执行
b会对光标最近的 S-expression1 做断点操作; - 回归当前断点/where:执行
w回到当前断点处,也就是程序当前停的地方; - 浏览下一断点:
B跳到下一个断点,持续B在该轮edebug-mode的下一个断点进行跳转; - continue 到下一断点:
c对应edebug-continue-mode,然后迅速按S对应edebug-stop停下来,否则会以秒速 step 的步调往后调试; - 在
emacs-mode下,使用SPC来进行 step 操作,对应edebug-step-mode; - 在对应的函数上启动
+emacs-lisp/edebug-instrument-defun-off以取消调试;