Providing compiler listings or Fault Analyzer side files
When analyzing an abend, Fault Analyzer attempts to provide source line information obtained from compiler listings or side files. (For detailed information about the types of compiler listings or side files searched for, and the order of precedence, see Locating compiler listings or side files.)
Enable the LangxCapture option during real-time analysis to write the source line information from a compiler listing or side file into the fault entry. This ensures the original source information remains available even if the abending program is subsequently recompiled. See LangxCapture.
If the relevant file cannot be located as a side file, but a compiler listing is found, then Fault Analyzer generates a side file from the listing and places it in a temporary data set, which is deleted once the analysis has completed.
If Fault Analyzer cannot find a listing either, then it is not able to provide source line detail, although it can still provide an analysis of the abend.
Even if a compiler listing or side file could not be found during real-time analysis, one can be provided later during reanalysis of the history file fault entry. If necessary, create the compiler listing or side file by recompiling the abending program after the abend has occurred. However, in order for the compiler listing or side file to match the load module as at the time of the abend, and thus facilitate Fault Analyzer source level analysis, it is important that the object deck from the recompilation remains unchanged.
Some compiler options, such as XREF, LIST, SOURCE and MAP, only change the information provided in the compiler listing. Other options, such as OPTIMIZE and SSRANGE, change the object code produced. When recompiling to add source support, all options should be left the same as the original compile, except for options that only affect the listing, such as LIST and XREF. Naturally, all input source, as well as the compiler version and maintenance level, should be the same.
For programs written in High Level Assembler, Fault Analyzer does not use the assembly listing but instead the SYSADATA file that is produced when specifying the assembler ADATA option. At the time of assemble, this data set is referenced by the SYSADATA DDname, but during Fault Analyzer processing it is read back via the IDIADATA DDname.
You have the choice of storing either listings or side files. However, side files are preferable for two reasons:
- They use less disk space.
- Fault Analyzer has to convert listings. Using side files reduces the total analysis time.
If you have set up PDS or PDSE data sets for compiler listings or side files, then you should make sure that they are populated with the programs likely to need analysis. Alternatively, compiler listings can be stored in sequential data sets.
Fault Analyzer searches all data sets specified for a given DDname separately and chooses the best matching compiler listing or side file for a program. Thus, compiler listing or side file data sets containing different versions of the same program, for example a development version, a test version, and a production version, can all be provided simultaneously.
For information about the naming of compiler listings or side files, see Naming compiler listings or side files.