next up previous contents index
Next: Notes on Efficiency Up: Using the System Previous: Static and Dynamic Code

Debugging Support

 

The debugging facilities in this version of CLP( tex2html_wrap_inline4020 ) are rudimentary.

codegen_debug

  This is a compiler directive, which includes debugging instructions in subsequently generated code. It should be active before the file to be debugged is consulted.

codegen_nodebug

  This is a compiler directive that turns off the generation of debugging code in subsequent compilation.

spy

  This switch makes all relations compiled under codegen_debug visible to the debugger. Protected rules are never visible.

spy(+P, +A)

  This switch makes the relation for predicate P with arity A visible to the debugger if it was compiled under codegen_debug. It cannot be applied to protected relations.

bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-2floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphackbsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-3floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack

spy([P1(+A1),...,Pn(+An)])

  Like spy/2, except a list is supplied of the predicates to be spied on where the Pi's are the predicate names and the Ai's their arity. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-4floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack

nospy

  Makes all relations invisible to the debugger.

nospy(+P, +A)

  Makes the relation for predicate P with arity A invisible to the debugger.

bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-2floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphackbsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-3floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack

nospy([P1(+A1),...,Pn(+An)])

  Like nospy/2, except a list is supplied of the predicates to be spied on where the Pi's are the predicate names and the Ai's their arity. bsphackfloatpenalty -Mii floatpenalty-Miii parmoderrfloatpenalty@ nextcurrboxfreelist currbox-4floatpenalty@ fltovf currboxtempboxa tempboxa @floatesphack

trace

  Activates printing. All subsequent attempts to search a relation visible to the debugger will result in a message being printed. The message is the same regardless of whether this is a first or subsequent attempt to satisfy a goal.

notrace

  De-activate printing.


next up previous contents index
Next: Notes on Efficiency Up: Using the System Previous: Static and Dynamic Code

Alan Borning
Fri Oct 8 12:51:18 PDT 1999