references

A reference is a subset of an expression that resolves to an area of storage, that is, a possible target of an assignment statement. For example, it can be a program, session, or z/OS® Debugger variable, an array or array element, or a structure or structure element, and any of these can be pointer-qualified (in programming languages that allow it). Any identifying name in a reference can be optionally qualified by containing structure names and names of blocks where the item is visible. It is optionally followed by subscript and substring modifiers, following the rules of the current programming language.

The specification of a qualified reference includes all containing structures and blocks as qualifiers, and can optionally begin with a load module name qualifier. For example, when the current programming language setting is C, mod::>cu:>proc:>struc1.struc2.array[23]. However, in assembler, disassembly, and LangX COBOL, variable names cannot be qualified with load module, compile unit, or block names.

When the current programming language setting is C and C++, the term lvalue is used in place of reference.

If you are debugging a program that was compiled with a version earlier than Enterprise PL/I Version 3.5 with the PTFs for APARs PK35230 and PK35489 applied, z/OS Debugger does not support the use of a qualified reference that includes block_spec, cu_spec, or load_spec.

If you are debugging a program compiled with one of the following compilers and running in the following environment, z/OS Debugger does support the use of a qualified reference that includes block_spec, cu_spec, or load_spec:

  • Enterprise PL/I for z/OS, Version 3.6 or later
  • Enterprise PL/I for z/OS, Version 3.5 with the PTFs for APARs PK35230 and PK35489 applied

If you are debugging a program that was compiled with an Enterprise PL/I compiler and z/OS Debugger is at an entry to a block, you cannot list or reference any variable or expression that includes variables declared in the block being entered.

A COBOL reference can be a data name, which can be any of the following, according to the rules of the COBOL language:

  • qualified
  • subscripted
  • indexed
  • reference modified

A COBOL reference can be to any special register, except for the following special registers:

  • ADDRESS-OF
  • LENGTH-OF
  • WHEN-COMPILED

Particular rules for forming a reference depend on the current programming language setting and what release level of the language run-time library z/OS Debugger is running under. For example, if you upgrade your version of the HLL compiler without upgrading your version of z/OS Debugger, certain application programming interface inconsistencies might exist.