{Begin Chapter Breaking, Tracing, and Advising}
{Title Breaking, Tracing, and Advising}
{Text


It is frequently useful to be able to modify the behavior of a function without actually editing its definition.  Interlisp provides several different facilities for doing this.  By "breaking" a function, the user can cause breaks to occur at various times in the running of an incomplete program, so that the program state can be inspected.  "Tracing" a function causes information to be printed every time the function is entered or exited.  These are very useful debugging tools.

"Advising" is a facility for specifying longer-term function modifications.  Even system functions can be changed through advising.


{Include BreakFns}

{Include Advising}

}{End Chapter Breaking, Tracing, and Advising}