Node:debug-on-quit, Next:edebug, Previous:debug-on-entry, Up:Debugging
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 Debugger.