Restrictions for debugging a LangX COBOL program
When you debug LangX COBOL programs the following general restrictions apply:
- When you compose z/OS® Debugger commands, all expressions must be enclosed in apostrophes (')
- The
AT CALL
command is not supported - The
AT EXIT
command is not supported - The
STEP RETURN
command is not supported - You cannot use the
LIST
command on a level-88 variables. - You cannot use the assignment statement to alter the contents of a level-88 variable.
- If you enter a
STEP
command when stopped on a statement that returns control to a higher-level program, theSTEP
command acts like aGO
command. - The only path-points for the
AT PATH
statement that are supported in a LangX COBOL program are Entry and Label. - There are behavioral differences between LangX COBOL programs and other COBOL programs. LangX COBOL programs behave more like assembler programs than COBOL programs in many situations. For example, in COBOL, a CU is not known to z/OS Debugger until it is called, even if it is statically link-edited into the same load module as the calling CU. However, LangX COBOL CU's are all known to z/OS Debugger when the module is loaded.
- If you are debugging a non-Language Environment® VS COBOL II program that uses the CALL statement to invoke a Language Environment program, you cannot stop at or debug the Language Environment program.
- The output of the
DESCRIBE ATTRIBUTES
command might not match the attributes originally coded in the following situations:- For packed decimal numbers (COMP-3) the PIC attribute always indicate an odd number of digits. This might be one more digit than was coded in the original PIC.
- The only non-numeric PIC code that is displayed by z/OS Debugger is 'X'.
- Under CICS®,
the initialization of a non-Language Environment COBOL transaction
is single-threaded; therefore, when multiple users try to concurrently
debug a non-Language Environment COBOL program, the CICS environment initializes one non-Language
Environment COBOL transaction at a time. Consider the following
example:
- Three users start a transaction that runs non-Language Environment COBOL program.
- The transaction that started first is initialized first. The other two transactions have to wait until that initialization is completed.
- After the initialization of the transaction that started first is done, the transaction that started second is initialized. While this transaction is being initialized, the user of the transaction that started first can run his z/OS Debugger session and the user of the transaction that started third continues to wait.
- After the initialization of the transaction that started second is done, the transaction that started third is initialized. While this transaction is being initialized, the users of the other two transactions can run their z/OS Debugger sessions.
- After the initialization of the transaction that started third is done, all three users can run their z/OS Debugger sessions, independently, for the same non-Language Environment COBOL program.