debug-on-quit
和(debug)
除了设置debug-on-error
或调用debug-on-entry
之外,还有两种启动debug
的方法。
通过将变量debug-on-quit
设置为t
,你可以在键入C-g(keyboard-quit
)时随时启动debug
。这对于调试无限循环非常有用。
或者,你可以在代码中插入一行,如下所示,以在想要启动调试器的地方开始(debug)
:
(defun triangle-bugged (number) "返回从1累加到NUMBER的数字的总和。" (let ((total 0)) (while (> number 0) (setq total (+ total number)) (debug) ; 启动调试器。 (setq number (1- number))) ; 错误出现在这里。 total))
debug
函数的详细信息在Lisp 调试器 in GNU Emacs Lisp参考手册中有描述。