Debugging

KEY The current debugging package is only preliminary and is currently being enhanced. The appearance of the debugging aids is thus likely to change; however, the predicates described here will not change - rather they will gradually be made more effective. debug Debug mode is switched on. Information will now be retained for debugging purposes and executions will require more space. nodebug Debug mode is switched off. Information is no longer retained for debugging. trace Debug mode is switched on, and an immediate CREEP decision is made, so that tracing will start with the very next port through which control passes. Since this is a once-off decision, a call to trace is necessary whenever tracing is required right from the start of an execution. (The assumed decision is otherwise LEAP). spy Spec Spy-points will be placed on all the procedures given by Spec. All control flow through the ports of these procedures will henceforth be traced. If debug mode was previously off, then it will be switched on. Spec can either be a predicate specification of the form Name/Arity or Name, or a list of such specifications. When the Name is given without the Arity this refers to all predicates of that name which currently have definitions. If there are none, then nothing will be done. Spy-points can be placed on particular undefined procedures only by using the full form, Name/Arity. nospy Spec Spy-points are removed from all the procedures given by Spec (as for spy). debugging Outputs information concerning the status of the debugging package. This will show whether debug mode is on, and if it is - 1. what spy-points have been set 2. what mode of leashing is in force.