PpwTrace=["]Value["] |
This #option command lets you control the level of #DefineRexx tracing that goes on (assuming that any has been allowed with the /PpwTrace switch). Note that the tracing does not depend on debug mode being on.
The "Value" specified here is the default for all following #DefineRexx commands, allowed values are:
AUTOMATIC REXX TRACING |
You can have the PPWIZARD #DefineRexx command automatically insert debugging statements into your code.
Please be careful using this feature, a rexx command is generated to support the tracing so always use do/end blocks when tracing within true or false "if" blocks etc. To provide an example, the following code will fail!:
if x = 1 then A = X; else A = 2;
To be able to trace this code you will need to change it to:
if x = 1 then do A = X; end; else do A = 2; end;
The addition of tracing code is fairly primative, however the rule is basically simple, it must be valid and not break your code for a rexx statement to be inserted between any lines of your code. There are a few exceptions, ppwizard will not insert code before any lines that are known "dangerous" ones such as "then", "do" and "else". If you don't wish to follow the "rules" then do not use the "AUTO" mode. You will probably get a rexx trap (unexpected "do" or similar) if a line is incorrect trapped but I'm not going to guarantee this...
This type of tracing can be much easier to understand than normal rexx tracing and also allows you to specify breakpoints. Also unlike OS/2 rexx tracing, Regina's tracing is almost useless. For these reasons and to reduce clutter it is suggested that the PPWIZARD macro "REXXTRACE" be set to "OFF".
To make things easier to understand I'd suggest that you use /beep and /color to turn on beeping as well as error and color highlighting.