Go to the first, previous, next, last section, table of contents.


Edebug Options

These options affect the behavior of Edebug:

User Option: edebug-setup-hook
Functions to call before Edebug is used. Each time it is set to a new value, Edebug will call those functions once and then edebug-setup-hook is reset to nil. You could use this to load up Edebug specifications associated with a package you are using but only when you also use Edebug. See section Instrumenting for Edebug.

User Option: edebug-all-defs
If this is non-nil, normal evaluation of defining forms such as defun and defmacro instruments them for Edebug. This applies to eval-defun, eval-region, eval-buffer, and eval-current-buffer.

Use the command M-x edebug-all-defs to toggle the value of this option. See section Instrumenting for Edebug.

User Option: edebug-all-forms
If this is non-nil, the commands eval-defun, eval-region, eval-buffer, and eval-current-buffer instrument all forms, even those that don't define anything. This doesn't apply to loading or evaluations in the minibuffer.

Use the command M-x edebug-all-forms to toggle the value of this option. See section Instrumenting for Edebug.

User Option: edebug-save-windows
If this is non-nil, Edebug saves and restores the window configuration. That takes some time, so if your program does not care what happens to the window configurations, it is better to set this variable to nil.

If the value is a list, only the listed windows are saved and restored.

You can use the W command in Edebug to change this variable interactively. See section Edebug Display Update.

User Option: edebug-save-displayed-buffer-points
If this is non-nil, Edebug saves and restores point in all displayed buffers.

Saving and restoring point in other buffers is necessary if you are debugging code that changes the point of a buffer which is displayed in a non-selected window. If Edebug or the user then selects the window, point in that buffer will move to the window's value of point.

Saving and restoring point in all buffers is expensive, since it requires selecting each window twice, so enable this only if you need it. See section Edebug Display Update.

User Option: edebug-initial-mode
If this variable is non-nil, it specifies the initial execution mode for Edebug when it is first activated. Possible values are step, next, go, Go-nonstop, trace, Trace-fast, continue, and Continue-fast.

The default value is step. See section Edebug Execution Modes.

User Option: edebug-trace
Non-nil means display a trace of function entry and exit. Tracing output is displayed in a buffer named `*edebug-trace*', one function entry or exit per line, indented by the recursion level.

The default value is nil.

Also see edebug-tracing, in See section Trace Buffer.

User Option: edebug-test-coverage
If non-nil, Edebug tests coverage of all expressions debugged. This is done by comparing the result of each expression with the previous result. Coverage is considered OK if two different results are found. So to sufficiently test the coverage of your code, try to execute it under conditions that evaluate all expressions more than once, and produce different results for each expression.

Use M-x edebug-display-freq-count to display the frequency count and coverage information for a definition. See section Coverage Testing.

User Option: edebug-continue-kbd-macro
If non-nil, continue defining or executing any keyboard macro that is executing outside of Edebug. Use this with caution since it is not debugged. See section Edebug Execution Modes.

User Option: edebug-print-length
If non-nil, bind print-length to this while printing results in Edebug. The default value is 50. See section Printing in Edebug.

User Option: edebug-print-level
If non-nil, bind print-level to this while printing results in Edebug. The default value is 50.

User Option: edebug-print-circle
If non-nil, bind print-circle to this while printing results in Edebug. The default value is nil.

User Option: edebug-on-error
Edebug binds debug-on-error to this value, if debug-on-error was previously nil. See section Trapping Errors.

User Option: edebug-on-quit
Edebug binds debug-on-quit to this value, if debug-on-quit was previously nil. See section Trapping Errors.

If you change the values of edebug-on-error or edebug-on-quit while Edebug is active, their values won't be used until the next time Edebug is invoked via a new command.

User Option: edebug-global-break-condition
If non-nil, an expression to test for at every stop point. If the result is non-nil, then break. Errors are ignored. See section Global Break Condition.


Go to the first, previous, next, last section, table of contents.