IBM AS/400 Frozen Dessert Maker User Manual


 
Setting and Removing Watch Conditions
Characteristics of Watches
You should know the following characteristics about watches before working with
them:
Watches are monitored system-wide, with a maximum number of 256 watches
that can be active simultaneously. This number includes watches set by the
system.
Depending on overall system use, you may be limited in the number of watch
conditions you can set at a given time. If you try to set a watch condition while
the maximum number of active watches across the system is exceeded, you
receive an error message and the watch condition is not set.
Note: If an expression or a variable crosses a page boundary, two watches
are used internally to monitor the storage locations. Therefore, the
maximum number of expressions or variables that can be watched
simultaneously system-wide ranges from 128 to 256.
Watch conditions can only be set when a program is stopped under debug, and
the expression or variable to be watched is in scope. If this is not the case, an
error message is issued when a watch is requested, indicating that the corre-
sponding call stack entry does not exist.
Once the watch condition is set, the address of a storage location watched
does not change. Therefore, if a watch is set on a temporary location, it could
result in spurious watch-condition notifications.
An example of this is the automatic storage of an ILE RPG subprocedure,
which can be re-used after the subprocedure ends.
A watch condition may be registered although the watched variable is no longer
in scope. You must not assume that a variable is in scope just because a
watch condition has been reported.
Two watch locations in the same job must not overlap in any way. Two watch
locations in different jobs must not start at the same storage address; other-
wise, overlap is allowed. If these restrictions are violated, an error message is
issued.
Note: Changes made to a watched storage location are ignored if they are
made by a job other than the one that set the watch condition.
After the command is successfully run, your application is stopped if a program
in your session changes the contents of the watched storage location, and the
Display Module Source display is shown.
If the program has debug data, and a source text view is available, it will be
shown. The source line of the statement that was about to be run when the
content change at the storage-location was detected is highlighted. A message
indicates which watch condition was satisfied.
If the program cannot be debugged, the text area of the display will be blank.
Eligible programs are automatically added to the debug session if they cause
the watch-stop condition.
When multiple watch conditions are hit on the same program statement, only
the first one will be reported.
You can set watch conditions also when you are using service jobs for debug-
ging, that is when you debug one job from another job.
Chapter 11. Debugging Programs 189