A debugging tool
The PrintfActor lets you add your own debugging messages to
what VSS (the server) can print out with the SetPrintCommands
(If you want to print debugging messages on the client
side, just use your own printf's.)
SGI only: if you like, you can specify different colors
to distinguish particular debugging messages.
To use the PrintfActor, load debug.so and create an actor of type PrintfActor.
In addition to the messages understood by all actors, the PrintfActor understands the following message:
- SetColor hActor color
- Set the color of text to be printed.
color should be one of the following:
nil black red green yellow blue magenta cyan white
where nil means the default color for your terminal window.
- SetFile hActor "filename"
- Redirect output to a file, instead of to standard error.
The file is erased if it already exists (fopen(filename, "w")).
Output is flushed after every printf command (see below).
- printf hActor [format string] [z1] [z2] [z3] [z4]
- Print a line on VSS's standard error (or to a file).
At least one argument must be supplied.
If the format string is omitted,
then the zi arguments must be numeric (integer
or floating point) and will be printed out with a space
separating them and a trailing newline.
If the format string is supplied,
then it is used printf-style to format any subsequent floating-point arguments.
Because of present parsing limitations, the format string
must be surrounded by double quotes, and spaces in the
string must be rendered as underscore characters. If you
put literal whitespace in the format string, a syntax error
will occur. (Sorry.) Also, \n meaning newline is recognized
only at the end of the format string.
pr = Create PrintfActor;
- Plain output of numbers, convenient for quick debugging:
m = Create MessageGroup;
AddMessage m ... ;
AddMessage m printf pr *0 *1 *5;
- Fancy formatting:
printf pr "foo:_%.2f_bar:%g\n" 19.42 5;
foo: 19.42 bar:5