Edebug is a source-level debugger for Emacs Lisp programs, with which
- 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
- 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.