You should know the following characteristics about watches before working
with them:
- Watches are monitored system-wide, with a maximum 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 will 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 on a
system-wide basis 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 corresponding 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 COBOL procedure,
which can be re-used after the procedure 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; otherwise, 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
debugging, that is, when you debug one job from another job.
(C) Copyright IBM Corporation 1992, 2005. All Rights Reserved.