The following limitations apply on CMS:
- You must take special care when debugging programs which:
- Employ interrupt-driven exit routines, such as ABNEXIT or HNDEXT
exit routines
- Reside above the address contained in the VMSIZE word of NUCON
- Reside in DCSS, whether read only or read-write
- The REXX system interface requires that external functions return
an EVALBLOK.
If you are debugging a REXX function package that has been called by a
REXX exec and you quit from IDF before the function has completed, the
REXX interpreter issues an error message. You may need
to re-IPL CMS.
- An IDF macro should invoke MRUN or MSTEP (or any other IDF
command which causes immediate execution of the target program)
using the LPSW Fastpath REXX addressing environment, which is the
default addressing on entry to IDF macros.
Detailed usage notes under MRUN
indicate the limitations of and effects of using Address ASM.
- If you use IDF's PER Y mode to debug your program, IDF uses
the hardware Program Event Recording (PER) support for register and
storage alteration events.
PER events might be triggered during the execution of CMS's SVC
handling (for example, for a register alteration).
If the event occurs in the small window between the start of that CMS
SVC handling and the point where it has saved the SVC interrupt status,
there is a problem if IDF tries to issue an SVC itself (for example, to
obtain working storage or to display a full-screen panel).
CMS recognizes an illegal SVC recursions, issues a
message, and requires a re-IPL.
IDF uses special logic when running on CMS level 8 (or higher) to
detect when CMS is in that small window of its SVC handler; if you are
on CMS 7 (or lower), the IDF detection logic is bypassed.
CMS may detect an Illegal reentry into
INTSVC, and require a re-IPL of CMS.
Because IDF cannot issue an SVC itself when in the SVC
window, it cannot display a full-screen panel, or even issue a
normal LINEDIT or LINEWRT or WRTERM (which each require an SVC).
Instead, it generates a set of CP MSG * messages to the
terminal to provide some basic information about the event that could
not be handled normally.
IDF execution continues normally after these messages.