debug-on-quit 与 (debug) ¶除了设置 debug-on-error 或调用 debug-on-entry,还有另外两种方式可以启动 debug。
将变量 debug-on-quit 设置为 t 后,每当你按 C-g(keyboard-quit)时都会启动调试器。这对调试死循环非常有用。
或者,你也可以在代码中希望启动调试器的位置插入一行 (debug),如下所示:
(defun triangle-bugged (number)
"Return sum of numbers 1 through NUMBER inclusive."
(let ((total 0))
(while (> number 0)
(setq total (+ total number))
(debug) ; Start debugger.
(setq number (1= number))) ; Error here.
total))
debug 函数的详细说明见 The Lisp Debugger in The GNU Emacs Lisp Reference Manual。