Edebug
Edebug is a source-level debugger for Emacs Lisp programs, with which you can:
- Step through evaluation, stopping before and after each expression.
- Set conditional or unconditional breakpoints.
- Stop when a specified condition is true (the global break event).
- Trace slow or fast, stopping briefly at each stop point, or at each breakpoint.
- Display expression results and evaluate expressions as if outside of Edebug.
- Automatically re-evaluate a list of expressions and display their results each time Edebug updates the display.
- Output trace information on function calls and returns.
- Stop when an error occurs.
- Display a backtrace, omitting Edebug’s own frames.
- Specify argument evaluation for macros and defining forms.
- Obtain rudimentary coverage testing and frequency counts.
The first three sections below should tell you enough about Edebug to start using it.
• Using Edebug | Introduction to use of Edebug. | |
• Instrumenting | You must instrument your code in order to debug it with Edebug. | |
• Modes | Execution modes, stopping more or less often. | |
• Jumping | Commands to jump to a specified place. | |
• Misc | Miscellaneous commands. | |
• Breaks | Setting breakpoints to make the program stop. | |
• Trapping Errors | Trapping errors with Edebug. | |
• Views | Views inside and outside of Edebug. | |
• Eval | Evaluating expressions within Edebug. | |
• Eval List | Expressions whose values are displayed each time you enter Edebug. | |
• Printing in Edebug | Customization of printing. | |
• Trace Buffer | How to produce trace output in a buffer. | |
• Coverage Testing | How to test evaluation coverage. | |
• The Outside Context | Data that Edebug saves and restores. | |
• Edebug and Macros | Specifying how to handle macro calls. | |
• Options | Option variables for customizing Edebug. |
Copyright © 1990-1996, 1998-2021 Free Software Foundation, Inc.
Licensed under the GNU GPL license.
https://www.gnu.org/software/emacs/manual/html_node/elisp/Edebug.html