Previous: , Up: Edebug   [Contents][Index]


22.4.17 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 Instrumenting.

User Option: edebug-all-defs

If non-nil, normal evaluation of any defining forms (e.g. defun and defmacro) will instrument them for Edebug. This applies to eval-defun, eval-region, and eval-current-buffer.

Use the command M-x edebug-all-defs to toggle the value of this variable. You may want to make this variable local to each buffer by calling (make-local-variable 'edebug-all-defs) in your emacs-lisp-mode-hook. See Instrumenting.

User Option: edebug-all-forms

If non-nil, normal evaluation of any forms by eval-defun, eval-region, and eval-current-buffer will instrument them for Edebug.

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

User Option: edebug-save-windows

If non-nil, save and restore window configuration on Edebug calls. It takes some time to do this, so if your program does not care what happens to data about windows, you may want to set this variable to nil.

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

M-x edebug-toggle-save-windows may be used to change this variable. This command is bound to W in source code buffers. See Edebug Display Update.

User Option: edebug-save-displayed-buffer-points

If non-nil, save and restore point in all displayed buffers. This 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, the buffer’s point will be changed to the window’s point.

This is an expensive operation since it visits each window and therefore each displayed buffer twice for each Edebug activation, so it is best to avoid it if you can. See 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 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. See Tracing.

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 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 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 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

debug-on-error is bound to this while Edebug is active. See Trapping Errors.

User Option: edebug-on-quit

debug-on-quit is bound to this while Edebug is active. See Trapping Errors.

User Option: edebug-unwrap-results

Non-nil if Edebug should unwrap results of expressions. This is useful when debugging macros where the results of expressions are instrumented expressions. But don’t do this when results might be circular or an infinite loop will result. See Debugging Backquote.

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 Global Break Condition.


Previous: , Up: Edebug   [Contents][Index]