While within Edebug, you can evaluate expressions as if Edebug were not running. Edebug tries to be invisible to the expression’s evaluation and printing. Evaluation of expressions that cause side effects will work as expected, except for changes to data that Edebug explicitly saves and restores. See The Outside Context, for details on this process.
Evaluate expression exp in the context outside of Edebug
(edebug-eval-expression). That is, Edebug tries to minimize
its interference with the evaluation. The result is shown in the echo
area, or, if this command is given a prefix, pop up a new buffer and
pretty-print the result there.
By default, this command
suppresses the debugger during evaluation, so that an error in the
evaluated expression won’t add a new error on top of the existing one.
Set the debug-allow-recursive-debug user option (see Entering the Debugger on an Error) to a non-nil value to override this.
Evaluate expression exp in the context of Edebug itself
(eval-expression).
Evaluate the expression before point, in the context outside of Edebug
(edebug-eval-last-sexp) and show the value in the minibuffer.
With the prefix argument of zero (C-u 0 C-x C-e), don’t shorten
long items (like strings and lists) when showing the value, due to
edebug-print-length and edebug-print-level
(see Printing in Edebug). Any other prefix will result in the value
being pretty-printed in a separate buffer instead of the minibuffer.
See Evaluation List Buffer, for additional Edebug features related to evaluating lists of expressions interactively.
Edebug supports evaluation of expressions containing references to
lexically bound symbols created by the following constructs in
cl-lib.el: cl-macrolet and cl-symbol-macrolet.