Enterprise COBOL V5 introduced a new approach for where to store the debug data created by specifying the TEST compile option, which is needed for tools like debuggers or abend analyzers. Prior to this enhancement, the debug data was stored in a separate SYSDEBUG side file or in the listing. Now the compiler places the debug data in NOLOAD debug segments in the program object. With this new approach, the debug data is included in the load module. Rather than relying on you to maintain and specify the location of a matching side file, the IBM z/OS debugger can pull the debug information straight out of the load module.

An added enhancement is the use of the DWARF Debugging Information Format standard to store the debug information.

The IBM z/OS debugger available with ID/z V14 and IBM Debug for z Systems V14 is the first and only debugger able to provide debugging support for NOLOAD debug segments in a load module, and able to read the DWARF encoding of the debug data.

DWARF is a format standard that also makes and API available. You could easily use the API to extract debug information for your own home-grown tooling. The DWARF format is used by many compilers on different platforms (UNIX, AIX, z/OS) including Enterprise PL/I for z/OS and z/OS XL C/C++ compilers. You can find more information about DWARF open standard following this link http://www.dwarfstd.org/.

Continuing with the goal of providing flexibility for customers, the new IBM Enterprise COBOL V6.2 compiler brings back a major feature to the TEST compile option, the addition of the sub-option NOSEPARATE/SEPARATE.

This option creates a SYSDEBUG file with the debug data. The NOSEPARATE/SEPARATE option is not new, since it was introduced with IBM Enterprise COBOL V4 but was not made available with Enterprise COBOL V5 and COBOL V6 versions. Now with Enterprise COBOL V6.2, you can either use the NOLOAD debug segments approach by specifying NOSEPARATE or instead create a separate SYSDEBUG side file by specifying the SEPARATE sub-option.

In the new versions of ID/z V14.1 and IBM Debug Tool for z Systems V14.1 the IBM z/OS Debugger is enhanced to fully support using an SYSDEBUG file to debug your application. You now the flexibility of debugging applications compiled with either NOSEPARATE or SEPARATE giving you the choice to decide what approach better fits your company. I recommend using NOSEPARATE because of the benefits listed above but if you develop software that is distributed outside of your company and you are concerned about the confidentiality of your debug data then the use of the SEPARATE option should solve this concern.

Join The Discussion

Your email address will not be published. Required fields are marked *