PREV UP NEXT GNU Emacs Lisp Reference Manual

Chapter 15: Debugging Lisp Programs

There are three ways to investigate a problem in an Emacs Lisp program, depending on what you are doing with the program when the problem appears.

  • If the problem occurs when you run the program, you can use a Lisp debugger (either the default debugger or Edebug) to investigate what is happening during execution.
  • If the problem is syntactic, so that Lisp cannot even read the program, you can use the Emacs facilities for editing Lisp to localize it.
  • If the problem occurs when trying to compile the program with the byte compiler, you need to know how to examine the compiler's input buffer.

Another useful debugging tool is the dribble file. When a dribble file is open, Emacs copies all keyboard input characters to that file. Afterward, you can examine the file to find out what input was used. See Terminal Input.

For debugging problems in terminal descriptions, the open-termscript function can be useful. See Terminal Output.