The ordinary 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. | |
• Variable Debugging: | Entering it when a variable is modified. | |
• Explicit Debug: | Entering it at a certain point in the program. | |
• Using Debugger: | What the debugger does. | |
• Backtraces: | What you see while in the debugger. | |
• 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. |
Copyright © 1990-1996, 1998-2019 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Debugger.html