Previous: Global Break Condition, Up: Breaks [Contents][Index]
All breakpoints in a definition are forgotten each time you
reinstrument it.  If you wish to make a breakpoint that won’t be
forgotten, you can write a source breakpoint, which is simply a
call to the function edebug in your source code.  You can, of
course, make such a call conditional.  For example, in the fac
function, you can insert the first line as shown below, to stop when the
argument reaches zero:
(defun fac (n)
  (if (= n 0) (edebug))
  (if (< 0 n)
      (* n (fac (1- n)))
    1))
When the fac definition is instrumented and the function is
called, the call to edebug acts as a breakpoint.  Depending on
the execution mode, Edebug stops or pauses there.
If no instrumented code is being executed when edebug is called,
that function calls debug.