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