prev UP NEXT GNU Emacs Lisp Reference Manual

15.1: The Lisp Debugger

The Lisp debugger provides the ability to suspend evaluation of a form. While evaluation is suspended (a state that is commonly known as a break), you may examine the run time stack, examine the values of local or global variables, or change those values. Since a break is a recursive edit, all the usual editing facilities of Emacs are available; you can even run programs that will enter the debugger recursively. See Recursive Editing.

  • Error Debugging Entering the debugger when an error happens.
  • Infinite Loops Stopping and debugging a program that doesn't exit.
  • Function Debugging Entering it when a certain function is called.
  • Explicit Debug Entering it at a certain point in the program.
  • Using Debugger What the debugger does; what you see while in it.
  • Debugger Commands Commands used while in the debugger.
  • Invoking the Debugger How to call the function debug.
  • Internals of Debugger Subroutines of the debugger, and global variables.