Debugging a program processed by the Automatic Binary Optimizer for z/OS

For programs complied with Enterprise COBOL for z/OS® Version 5 or later and optimized by Automatic Binary Optimizer for z/OS (ABO), you can debug them in the same manner as the programs that are not optimized by ABO. LangX COBOL support cannot be used for those programs.

For programs complied with Enterprise COBOL for z/OS Version 4 or earlier, you can use the LangX COBOL support in z/OS Debugger to debug (with restrictions) a load module or program object generated by the ABO.

Debugging an ABO-optimized program with LangX COBOL support

Before you debug, you must use the IPVLANGO utility to create a new LangX file. For more information about the IPVLANGO Automatic Binary Optimizer LangX file update utility, see IBM® Application Delivery Foundation for z/OS Common Components Customization Guide and User Guide.

ABO shuffles or removes instructions, which might result in moving or removing one or more statements, or collapsing several statements into one single statement. As a result, the debugging behavior might not be predictable and a visual random stepping can be experienced during the debug session. In addition, it may not be obvious when a variable is actually set.

For an example of this potential unpredictable behavior, see Example of potential unpredictable behavior when debugging an Automatic Binary Optimizer (ABO) optimized COBOL load module.

To debug an ABO-processed program, complete the following steps:
  1. Compile the source using Enterprise COBOL for z/OS Version 3 or Version 4 with the options needed for LangX COBOL support.

    For more information about the LangX COBOL support, see Preparing a LangX COBOL program.

  2. Link or bind your program.
  3. Run IPVLANGX against the COBOL listing from Step 1 to create a LangX file.

    Steps 1, 2, and 3 are the normal LangX COBOL program preparation.

  4. Run ABO against the output from Step 2 to generate an ABO listing and an optimized program.
  5. Run IPVLANGO against the LangX file from Step 3 and the listing output from Step 4 to create a new LangX file.
  6. Debug the program generated by ABO in Step 4 with the LangX file from Step 5.