`debug-on-quit' and `(debug)'
=============================
In addition to setting `debug-on-error' or calling `debug-on-entry',
there are two other ways to start `debug'.
You can start `debug' whenever you type `C-g' (`keyboard-quit') by
setting the variable `debug-on-quit' to `t'. This is useful for
debugging infinite loops.
Or, you can insert a line that says `(debug)' into your code where
you want the debugger to start, like this:
(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))
The `debug' function is described in detail in Note:The Lisp
Debugger.