mirror of
https://github.com/PDP-10/its.git
synced 2026-01-13 15:27:28 +00:00
43 lines
2.2 KiB
Plaintext
43 lines
2.2 KiB
Plaintext
<PRINT
|
||
"Type <TRACE function-name> to do a simple trace: args will be &'ed on
|
||
entry, and value on exit.
|
||
<UNTRACE function-name> will restore the function to normal.
|
||
|
||
NOTES:
|
||
1. Fsubrs and functions which don't eval their args can not be traced.
|
||
2. Rsubrs which have been dynamically linked can not be traced; but
|
||
tracing will inhibit dynamic linking of the affected rsubrs.
|
||
|
||
OPTIONS:
|
||
1. <TRACE> prints this stuff.
|
||
2. TRACE may be given a list of function names instead of a single name.
|
||
3. There are five options available to 'tailor' the behavior of trace on
|
||
a particular function. These are:
|
||
IN-BREAK: break before entry to the function (normally off)
|
||
IN-PRINT: & function args on entry (normally on)
|
||
OUT-PRINT: & function value on exit (normally on)
|
||
OUT-BREAK: break after executing the function call (normally off)
|
||
VERBOSE: & the arguments 1/line: gives more information about the
|
||
args.
|
||
To cause a given option to be 'on', simply give the appropriate atom
|
||
as an argument after the function name/list: <TRACE FOO OUT-BREAK>
|
||
will cause FOO to generate an error when it's done; also, IN-PRINT
|
||
and OUT-PRINT will be on, as defaults. To turn an option off, give a
|
||
list of the option name and false: <TRACE FOO (OUT-PRINT <>)> will
|
||
inhibit printing of the function value. Options may be made
|
||
conditional by giving a list of the option name and a form which will
|
||
be eval'ed at the appropriate times:
|
||
<TRACE FOO (OUT-PRINT '<G? <TIME> 4.0>)> will cause printing of the
|
||
value after 4 seconds of cpu time have been used. If the form given
|
||
evals to false, the option will be inhibited.
|
||
Any number of options may be specified.
|
||
You may specify more than one option in a given list: just give the
|
||
names first, with the last item in the list the form to be eval'ed.
|
||
4. If the lval of INDENT exists, it should be a fix. This will cause
|
||
TRACE to indent the printing for each successive function call,
|
||
giving a picture of the stack. After a depth of ,INDENT-MOD
|
||
(normally 15) is reached, the indenting will recycle to the left
|
||
margin.
|
||
5. <UNTRACE> untraces everything; ,TRACELIST is a list of the names of
|
||
all functions currently traced.
|
||
6. More detailed information is in MUDBUG;TRACE INFO."> |