During the loading process, z/OS uses the text records in the load module or program object and information in the relocation records to place the loaded item in storage.
In the normal z/XDC case, z/XDC can load this information from the libraries used to load the programs, because those libraries are locally available. However, when processing a dump, the information is only available in libraries that reside on the system where the dump was created.
When XDCMMEF is run on the system where a dump was created, it creates a dataset containing the information that dump/XDC can use to determine the layout of modules loaded into storage. This information will become visible in dump/XDC. It will include the system nucleus, and/or programs located in the (P)LPA, and/or programs located in the linklist, and/or programs loaded from user libraries.
There are several reasons why Cole Software wrote the XDCMMEF program:
- Dumps do not contain load module (or program object) layout information.
- This information can be very useful when examining a dump.
- Extracting the relevant information must be done on the system that produced the dump.
- The extracted information must be compact and easily transported.
- The extracted information must not include information that could potentially be sensitive.
The extracted information contains a module’s ESD map (the layout of all the CSECTs within the module).
In other words, the extracted data does not contain any part of a load module that actually gets loaded into storage and executed. While the code itself is present in the dump, it is not in a form that allows it to be executed
The output dataset can be sent along with the dump, and dump/XDC can load the information from that dataset into storage, and use it instead of trying to load that information from a local dataset.
XDCMMEF’s output dataset can safely be FTP’d in binary (image) mode