Using the HFZRLOAD DDname for CSECT mapping

Since Z Abend InvestigatorZ Abend Investigator generally searches for compiler listings or side files using the uppercase eight-character CSECT name, it follows that resolving CSECT names is a prerequisite to presenting source level information, such as the point-of-failure source line or statement.

During real-time processing, Z Abend Investigator automatically invokes the MVS Binder program to perform the mapping of CSECTs in application load modules. CSECTs are usually not determined in non-application load modules, such as those belonging to the MVS operating system or Language Environment®, for performance reasons.

Also, when performing MVS dump analysis using File > Analyze MVS Dump Data Set from the Fault Entry List display, CSECT mapping is generally not available. This might be due to the inability to determine the data set name from where a load module was originally loaded, or because the dump is analyzed on a different system to where it was written.

To enable CSECT mapping of non-application load modules, or any load modules in the case of MVS dump analysis, the user can preallocate a concatenation of load libraries to the HFZRLOAD DDname. This allocation of the HFZRLOAD DDname can, for example, be performed using the TSO ALLOCATE command prior to the dump analysis, or using the HFZALLOC REXX command from an Analysis Control user exit.

If an Analysis Control user exit is used, then there is also the option to use an alternative DDname, which must be identified via the ENV.HFZRLOAD_DD field. This approach can be useful if performing multiple simultaneous Z Abend Investigator dump analyses in separate ISPF split screen sessions. Refer to the description of the HFZRLOAD_DD field in ENV - Common exit environment information for information about how to use an alternative DDname during initial RFR fault entry reanalysis.

If during reanalysis, Z Abend Investigator does not have the link-edit information for a load module due to any of the reasons mentioned above, then it uses the HFZRLOAD concatenation to search for a module of the same name and uses IEWBIND to extract the CSECT name information. This approach facilitates potential HFZLANGX source mapping for those CSECTs.

It is important that any load libraries that are allocated to the HFZRLOAD DDname match the load modules being mapped, otherwise incorrect CSECT and source line determination might result.

To facilitate source level analysis of PL/X programs, the user must provide matching Z Abend Investigator side files, created by calling HFZLANGX with PARM='mbr_name (PLX' and specifying both SYSADATA and SYSLOGIC input data.