Rational Developer for System z, Version 7.6

Appendix G. Debug Tool Load Module Analyzer

The Debug Tool Load Module Analyzer analyzes MVS load modules or program objects to determine the language translator (compiler or assembler) used to generate the object for each CSECT. This program can process all or selected load modules or program objects in a concatenation of PDS or PDSE data sets.

Choosing a method to start Load Module Analyzer

You can start the Load Module Analyzer in one of the following ways:

Starting the Load Module Analyzer by using JCL

To start the Load Module Analyzer by using sample JCL, do the following steps:

  1. Make a copy of member EQAZLMA in data set hlq.SEQASAMP.
  2. Edit that copy, as instructed in the member.
  3. Submit the JCL.
  4. Review the results.

Starting the Load Module Analyzer by using Debug Tool Utilities

To start the Load Module Analyzer by using Debug Tool Utilities, do the following steps:

  1. Start Debug Tool Utilities.
  2. Select option 5.
  3. Enter the appropriate information into each field on the panel, keeping in mind the following behavior:

Description of the JCL statements to use with Load Module Analyzer

By default, the Load Module Analyzer program processes all members in the PDS or PDSE specified in the EQALIB DD statement. You can use control statements to instruct Load Module Analyzer to process only specific members of the data set concatenation.

Description of DD names used by Load Module Analyzer

Load Module Analyzer uses the following DD names:

EQALIB
Specifies a concatenation of PDS or PDSE data sets containing the load modules or program objects to be analyzed. If the same member is present in more than one of the concatenated data sets, only the first member is processed.
EQAPRINT
Specifies the output report. It can be in fixed block record format (RECFM=FBA) with a logical record length of 133 or more (LRECL >=133) or in variable block record format (RECFM=VBA) with a logical record length of 137 or more (LRECL >= 137).
EQAIN
Specifies the control statements. If you want only specific load modules or program objects to be processed, use the following syntax:
SELECT MEMBER=load_module_name

If you want all load modules to be processed, you can omit this DD statement, direct it to DUMMY, or direct it to empty data set. This file must be in fixed block record format (RECFM=FB) with a logical record length of 80 (LRECL=80). Each control statement must be on a separate line. The entries are free-form and you can use blanks before or after each keyword and operator. You can include comments by placing an asterisk in column 1.

EQASYSPF
Specifies a list of system prefixes. This is a list of prefixes of names of CSECTs that you want Load Module Analyzer to recognize as system routines. The list helps limit the amount of output displayed for these prefixes. This file must be in fixed block record format (RECFM=FB) with a logical record length of 80 (LRECL=80). Debug Tool provides data for this file in member EQALMPFX of the table library (SEQATLIB). See Description of EQASYSPF file format for a description of this file.
EQAPGMNM
Specifies a list of program names corresponding to program IDs found in the load module IDR data. This file must be in fixed block record format (RECFM=FB) with a logical record length of 80 (LRECL=80). Debug Tool provides data for this file in member EQALMPGM of the table library (EQATLIB). See Description of EQAPGMNM file format for directions on how to add entries to this list.

Description of parameters used by Load Module Analyzer

You can specify parameters by using the PARM= keyword of the EXEC JCL statement. The parameter string passed to this program can consist of any of the following parameters, separated by commas or blanks:

CKVOLFPRS
Lists only CSECTs or entries that use at least one of the Additional Floating-Point Registers 8 through 15. You cannot specify this parameter with the OSVSONLY parameter. If you specify both, the last one specified is used.
DATEFMT=dateformat
Specifies how dates are to be formatted. If a date from the binder CSECT identification record (IDR) data does not appear to be a valid Julian date, it is not reformatted. Use one of the following values:
YYYYMMDD
Sort format: YYYY/MM/DD. (Default)
MMDDYYYY
U.S. standard format: MM/DD/YYYY.
DDMMYYYY
European standard format: DD/MM/YYYY.
LEINFO
Causes the text for each CSECT and external entry point to be inspected for a Language Environment footprint. If one is found, information about the Language Environment entry point name, linkage type, source language, and translation date and time is included in the output for the CSECT or entry. If no Language Environment footprint is found, the prologue code is inspected for known non-Language Environment prologue formats. If one is discovered, the corresponding language is included in the output. Otherwise, "ASSEMBLER" is output.
LESCAN
Causes the actions described under the LEINFO parameter. In addition, the text for each CSECT is scanned looking for "hidden" Language Environment entry points that do not correspond to an external symbol. For example, these might be present for C static functions. If such "hidden" entry points are detected, the same output as described for LEINFO in generated.
LISTLD
Lists all label definition (LD) entries in addition to CSECT names.
LOUD
Specifies that the data read from the EQASYSPF and EQAPGMNM files is displayed in the output listing.
NATLANG=language_code
Specifies the national language. Use one of the following values:
ENU
Mixed-case English. (Default)
UEN
Upper-case English.
JPN
Japanese.
KOR
Korean.
OSVSONLY
Specifies that only CSECTs compiled with the OS/VS COBOL compiler are to be displayed in the output. Information about all other CSECTs is suppressed.

You cannot specify this parameter with the CKVOLFPRS parameter. If you specify both, the last one specified is used.

SHOWLIB
Specifies that the include indicator in the EQASYSPF file is to be ignored so that all CSECTs are listed.
SORTBY=sort_option
Specifies how to sort the names of the CSECTs in the output. Use one of the following values:
OFFSET
Sort by offset; the order shown in the linkage editor or AMBLIST output. (Default)
NAME
Sorts by CSECT name.
PROGRAM
Sort by the translator program ID.
LANGUAGE
Sorts by the source language and by the translator program ID.
DATE
Sorts by the translation date.

Description of EQASYSPF file format

This file contains a list of system prefixes. When Load Module Analyzer finds a CSECT that has a name prefixed by a name in this list and the entry for that prefix indicates that names beginning with that prefix are not to be included, Load Module Analyzer does not display an individual entry for that CSECT. Instead, a single line is displayed in the output for each prefix found that indicates that one or more CSECTs with the specified prefix was found.

Debug Tool supplies data for this file in member EQALMPFX of the table library (SEQATLIB). If you want to add entries to this file, do one of the following tasks:

Each line in this file represents one entry. The entries are free-form; however, each item must be separated from the previous item by one or more blanks. You can include comments by placing an asterisk in column 1. Use the following syntax for each line:

prefix   I   L   description
prefix
A one to seven character prefix.
I
Include indicator. Specify a "1" to indicate that each CSECT beginning with this prefix is to be treated as an ordinary CSECT. Specify a "0" to indicate that CSECTs beginning with this prefix are not to be listed individually.
L
Language or system component indicator. Choose from one of the following characters:
B
COBOL
N
Enterprise COBOL for z/OS, Version 4 or later
V
OS/VS COBOL
P
PL/I
E
Enterprise PL/I
C
C/C++
A
Assembler
L
Language Environment
S
CICS®
I
IMS™
2
DB2®
M
MVS
T
TCP/IP
*
Unclassified.
description
A twelve-character description of the component owning the prefix.

Description of EQAPGMNM file format

This file contains a list of program names corresponding to program IDs found in the load module IDR data. These names are used in the output to describe the language translator used to generate the object for the corresponding CSECT.

Debug Tool provides data for this file in member EQALMPGM of the table library (SEQATLIB). If you want to add entries to this file, do one of the following tasks:

Each line represents one entry. The entries are free-form. The program number must begin in column 1 and each item must be separated from the previous item by one or more blanks. You can include comments by placing an asterisk in column 1. You cannot use sequence numbers in this file. Use the following syntax for each line:

program_name    L   program_description
program_name
A seven character program number.
L
Language or system component indicator. See Description of EQASYSPF file format for a list of possible values.
program_description
A description of the program.

Description of program output created by Load Module Analyzer

The output for each load module or program object is displayed in the following order:

Alias names are displayed in the following manner:

Description of output contents created by Load Module Analyzer

The following information is included in the output for each CSECT:

Example: Output created by Load Module Analyzer for an OS/VS COBOL load module

The following is a fragment of output that might appear for an OS/VS COBOL load module:

1 5655-U27   Debug Tool Version 9 Release 1.2 Load Module Analyzer   2008/11/03    Page   15
                                  Load Module  TSCODEL.CICS.TEST.LOAD(CICK512)                                          
                                                                                                     
 CSECT    Sg   Offset  Length  Program-ID  Trn-Date    Program-Description                              
 $PRIV000010                                                                                         
                   28     C58   5688216    1996/12/31  AD/Cycle C/370                                   
 $PRIV000011                                                                                         
                  D00    1CD0   5688216    1996/12/31  AD/Cycle C/370                                   
 @@XINIT@        29E0       8   5688216    1996/12/31  AD/Cycle C/370                                   
 @@INIT@         29E8     3D8   5688216    1996/12/31  AD/Cycle C/370                                   
 EQADCRXT        2DC0     240   566896201  1995/05/15  Assembler H Version 1 Release 2, 3, OR 4         
 @@C2CBL         3118      10   569623400  1995/08/03  High Level Assembler for MVS & VM & VSE Version 1
 @@FETCH         3138      10   569623400  1995/08/03  High Level Assembler for MVS & VM & VSE Version 1
 MEMSET          3148      10   569623400  1995/08/03  High Level Assembler for MVS & VM & VSE Version 1
 FPRINTF         3158      10   569623400  1995/08/03  High Level Assembler for MVS & VM & VSE Version 1
 CS9403          3168    3518   566895807  1995/08/15  VS COBOL II Version 1 Release 3                  
 STRLEN          7398      10   569623400  1995/08/03  High Level Assembler for MVS & VM & VSE Version 1
 CEE*                           (Multiple program ID's)                                                 
 DFH*                           5668962                Assembler H Version 1 Release 2, 3, OR 4         
 EDC*                           5696234                High Level Assembler for MVS & VM & VSE Version 1
 IGZ*                           5668962                Assembler H Version 1 Release 2, 3, OR 4         

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)