Emacs normally displays an error message when an error is signaled and not handled with
condition-case. While Edebug is active and executing instrumented code, it normally responds to all unhandled errors. You can customize this with the options
edebug-on-quit; see Edebug Options.
When Edebug responds to an error, it shows the last stop point encountered before the error. This may be the location of a call to a function which was not instrumented, and within which the error actually occurred. For an unbound variable error, the last known stop point might be quite distant from the offending variable reference. In that case, you might want to display a full backtrace (see Edebug Misc).
If you change
debug-on-quit while Edebug is active, these changes will be forgotten when Edebug becomes inactive. Furthermore, during Edebug’s recursive edit, these variables are bound to the values they had outside of Edebug.