Development systems provide a range of built-in predicates for control of the debugging facilities. The most basic predicates are as follows:
debug developmenttrace/0 below), but information prior to this will be
unavailable.
See mpg-ref-debug.
zip developmentdebug/0, except no debugging information is being
collected, and so is almost as fast as running with the debugger
switched off.
See mpg-ref-zip.
trace developmenttrace/0 can also be
achieved by typing t after a ^C interruption of a
program.
At this point you have a number of options. See Debug Commands. In
particular, you can just type <RET> to creep (or single-step)
into your program. If you continue to creep through your
program you will see every entry and exit to/from every
invocation box, including compiled code, except for code
belonging to hidden modules (see ref-mod). You will
notice that the debugger stops at all ports. However, if this is
not what you want, the next predicate gives full
control over the ports at which you are prompted.
See mpg-ref-trace.
leash(+Mode) developmentleash/1 does not apply to spypoints, the
leashing mode of these can be set using the advanced debugger
features; see Advanced Debugging. Block and Unblock ports
cannot be leashed. Mode can be a subset of the following,
specified as a list of the following:
callexitredofailexceptionThe following shorthands are also allowed:
leash(all)leash([exception,call,exit,redo,fail]).
leash(half)leash([exception,call,redo]).
leash(loose)leash([exception,call]).
leash(tight)leash([exception,call,redo,fail]).
leash(off)leash([]).
The initial value of Leashing Mode is
[call,exit,redo,fail,exception] (full leashing).
See mpg-ref-leash.
nodebug developmentnotrace developmentnozip developmentdebugging development