Rational Developer for System z バージョン 7.6

付録G. Debug Tool ロード・モジュール・アナライザー

この Debug Tool ロード・モジュール・アナライザーは、MVS ロード・モジュールまたはプログラム・オブジェクトを分析して、各 CSECT にオブジェクトを生成するのに使用する言語変換プログラム (コンパイラーまたはアセンブラー) を決定します。 このプログラムは、PDS または PDSE データ・セット連結内にあるすべてまたは選択したロード・モジュールまたはプログラム・オブジェクトを処理可能です。

ロード・モジュール・アナライザーの開始方法の選択

以下の方法のどちらかで、ロード・モジュール・アナライザーを始動できます。

JCL を使用してロード・モジュール・アナライザーを開始

サンプル JCL を使用してロード・モジュール・アナライザーを開始するには、以下のステップを行います。

  1. データ・セット hlq.SEQASAMP にあるメンバー EQAZLMA のコピーを作成します。
  2. このメンバーの中で指示されたとおりにそのコピーを編集します。
  3. その JCL をサブミットします。
  4. 実行結果を確認します。

Debug Tool Utilities を使用してロード・モジュール・アナライザーを開始

Debug Tool Utilities を使用してロード・モジュール・アナライザーを開始するには、以下のステップを行います。

  1. Debug Tool Utilities を始動します。
  2. オプション 5 を選択します。
  3. パネル上の各フィールドに適切な情報を入力します。その場合、以下の動きに注意してください。

ロード・モジュール・アナライザーとともに使用する JCL ステートメントの説明

デフォルトでは、ロード・モジュール・アナライザー・プログラムは EQALIB DD ステートメントで指定した PDS または PDSE 内の全メンバーを処理します。ロード・モジュール・アナライザーに指示を与える制御ステートメントを使用して、データ・セット連結内の特定メンバーだけを処理できます。

ロード・モジュール・アナライザーが使用する DD名の説明

ロード・モジュール・アナライザーは以下の DD 名を使用します。

EQALIB
分析対象のロード・モジュールまたはプログラム・オブジェクトが入った PDS または PDSE データ・セット連結を指定します。連結された複数のデータ・セットの中に同一メンバーが存在する場合は、最初のメンバーだけが処理されます。
EQAPRINT
出力レポートを指定します。このデータ・セットは、論理レコード長が 133 バイト以上 (LRECL >=133) で固定長ブロック・レコード形式 (RECFM=FBA) にするか、137 バイト以上 (LRECL >=137) で可変長ブロック・レコード形式 (RECFM=VBA) にすることができます。
EQAIN
制御ステートメントを指定します。特定のロード・モジュールまたはプログラム・オブジェクトを処理したい場合、以下の構文を使用します。
SELECT MEMBER=load_module_name

すべてのロード・モジュールを処理したい場合は、この DD ステートメントを指定しないか、DUMMY で指定するか、または空のデータ・セットで指定することができます。このファイルは、80 バイト以上 (LRECL >=80) で固定長ブロック・レコード形式 (RECFM=FB) を指定する必要があります。各制御ステートメントは別の行に指定する必要があります。制御ステートメントの各入力内容はフリー・フォームで、各キーワードと演算子の前または後ろにブランクを入れても構いません。コメントを入れたい場合は、1 カラム目にアスタリスクをコーディングします。

EQASYSPF
システム接頭部一覧を指定します。これは CSECT 名の接頭部一覧であり、ロード・モジュール・アナライザーに対してその名前をシステム・ルーチンとして認識させたい場合に使用します。 この一覧を使用して、これらの接頭部に対して表示される出力量を限定します。このファイルは、80 バイト以上 (LRECL >=80) で固定長ブロック・レコード形式 (RECFM=FB) を指定する必要があります。Debug Tool は、テーブル・ライブラリー (SEQATLIB) のメンバー EQALMPFX にこのファイル用のデータを提供します。このファイルの説明は、EQASYSPF ファイル・フォーマットの説明を参照してください。
EQAPGMNM
ロード・モジュール IDR データ内にある各プログラム ID に対応するプログラム名一覧を指定します。このファイルは、80 バイト以上 (LRECL >=80) で固定長ブロック・レコード形式 (RECFM=FB) を指定する必要があります。Debug Tool は、テーブル・ライブラリー (EQATLIB) のメンバー EQALMPGM にこのファイル用のデータを提供します。この一覧にエントリーを追加する方法に関する説明記述は、EQAPGMNM ファイル・フォーマットの説明を参照してください。

ロード・モジュール・アナライザーが使用する パラメーターの説明

各パラメーターの指定は EXEC JCL ステートメントの PARM キーワードを使用します。 このプログラムに渡されるパラメーター・ストリングは、以下のどのパラメーターで構成しても構いません。各パラメーターはコンマまたはブランクで区切ります。

CKVOLFPRS
追加の浮動小数点レジスター 8 から 15 のうちの少なくとも 1 つを使用する、CSECT または項目のみをリストします。 このパラメーターは、OSVSONLY パラメーターと一緒に指定できません。両方を指定した場合は、最後に指定した方が使用されます。
DATEFMT=dateformat
各データのフォーマット方法を指定します。バインダー CSECT の識別レコード (IDR) データからのデータが有効なユリウス日付とは考えられない場合は、このデータは再フォーマットされません。以下の値のいずれかを使用します。
YYYYMMDD
ソート形式: YYYY/MM/DD。(デフォルト)
MMDDYYYY
米国標準形式: MM/DD/YYYY。
DDMMYYYY
ヨーロッパ標準形式: DD/MM/YYYY。
LEINFO
各 CSECT と外部エントリー・ポイントごとのテキストが、言語環境プログラムのロジックの通過した跡として検査されることになります。そのロジックの通過した跡が見つかった場合、言語環境プログラムのエントリー・ポイント名、リンケージ・タイプ、ソース言語、および言語変換日時が、その CSECT またはエントリーに対する出力の中に組み込まれます。言語環境プログラムのロジックの通過した跡がない場合、認識された非言語環境プログラムのプロローグ・フォーマットとしてプロローグ・コードを検査します。 そのプロローグ・コードが検出された場合、対応する言語がその出力の中に入れられます。 検出されない場合は、「ASSEMBLER」と出力されます。
LESCAN
LEINFO パラメーターの下で記述されたアクションが取られることになります。さらに、外部シンボルに対応しない「隠れた」言語環境プログラムのエントリー・ポイントを探して、各 CSECT ごとのテキストがスキャンされます。 例えば、これらのエントリー・ポイントは C の静的関数ごとに存在する可能性があります。このような「隠れた」エントリー・ポイントが検出されると、LEINFO に対して記述したものと同じ出力が生成されます。
LISTLD
CSECT 名の他に、すべてのラベル定義 (LD) エントリー一覧を作成します。
LOUD
EQASYSPF と EQAPGMNM ファイルから読み取られたデータを出力リストに表示する旨を指定します。
NATLANG=language_code
各国語を指定します。以下の値のいずれかを使用します。
ENU
英大/小文字混合の英語。(デフォルト)
UEN
大文字の英語。
JPN
日本語。
KOR
韓国語。
OSVSONLY
OS/VS COBOL コンパイラーでコンパイルされた CSECT のみがその出力の中に表示される旨を指定します。他のすべての CSECT 情報の表示は抑止されます。

このパラメーターは、CKVOLFPRS パラメーターと一緒に指定できません。両方を指定した場合は、最後に指定した方が使用されます。

SHOWLIB
EQASYSPF ファイル内への包含標識が無視されることを指定します。これによって全 CSECT がリスト表示されます。
SORTBY=sort_option
出力内での CSECT 名のソート方法を指定します。以下の値のいずれかを使用します。
OFFSET
オフセット別ソート。すなわち、リンケージ・エディターまたは AMBLIST 出力内に表示される順序。(デフォルト)
NAME
CSECT 名別のソート。
PROGRAM
変換プログラム ID 別のソート。
LANGUAGE
ソース言語別および変換プログラム ID 別のソート。
DATE
変換日付別のソート。

EQASYSPF ファイル・フォーマットの説明

このファイルにはシステム接頭部の一覧が入ります。ロード・モジュール・アナライザーがこの一覧にある名前を接頭部に付けた CSECT を見つけて、その接頭部に対するエントリーが、その接頭部で始まる名前を包含しないことを示している場合、ロード・モジュール・アナライザーはその CSECT に対する個々のエントリーを表示しません。その代わりに、見つかった各エントリーごとに単一の行を出力の中に表示します。この単一行には、指定された接頭部に関して 1 つ以上の CSECT が見つかった旨が表示されます。

Debug Tool は、テーブル・ライブラリー (SEQATLIB) のメンバー EQALMPFX にこのファイル用のデータを提供します。このファイルにエントリーを追加したい場合、以下の作業のいずれかを実行します。

このファイルの各行は、1 エントリーを表します。このエントリーはフリー・フォームですが、各項目は 1 つ以上のブランクで直前の項目との間を区切る必要があります。コメントを入れたい場合は、1 カラム目にアスタリスクをコーディングします。各行ごとに以下の構文を使用します。

prefix   I   L   description
prefix
1 から 7 文字までの接頭部。
I
包含標識。"1" を指定して、この接頭部で始まる各 CSECT が通常の CSECT として処理されることを示します。"0" を指定して、この接頭部で始まる各 CSECT は個々にリストされないことを示します。
L
言語またはシステム・コンポーネント標識。以下の文字のいずれかから選択します。
B
COBOL
N
Enterprise COBOL for z/OS バージョン 4 以降
V
OS/VS COBOL
P
PL/I
E
Enterprise PL/I
C
C/C++
A
アセンブラー
L
言語環境プログラム
S
CICS®
I
IMS™
2
DB2®
M
MVS
T
TCP/IP
*
分類なし。
説明
12 文字で、この接頭部を所有するコンポーネントを説明。

EQAPGMNM ファイル・フォーマットの説明

このファイルには、ロード・モジュール IDR データ内にある各プログラム ID に対応するプログラム名一覧が入ります。これらの名前は出力の中で使用されて、対応する CSECT のオブジェクト生成に使用する言語翻訳プログラムを説明します。

Debug Tool は、テーブル・ライブラリー (SEQATLIB) のメンバー EQALMPGM にこのファイル用のデータを提供します。このファイルにエントリーを追加したい場合、以下の作業のいずれかを実行します。

各行は、1 エントリーを表します。このエントリーはフリー・フォームです。プログラム番号が 1 カラム目から始まっている必要があり、各項目は 1 つ以上のブランクで直前の項目と区切る必要があります。コメントを入れたい場合は、1 カラム目にアスタリスクをコーディングします。このファイル内ではシーケンス番号を使用できません。 各行ごとに以下の構文を使用します。

program_name    L   program_description
program_name
7 文字のプログラム番号。
L
言語またはシステム・コンポーネント標識。指定可能な値の一覧は、EQASYSPF ファイル・フォーマットの説明を参照してください。
program_description
プログラムの説明。

ロード・モジュール・アナライザーによって作成されるプログラム出力の説明

各ロード・モジュールまたはプログラム・オブジェクトごとの出力は以下の順序で表示されます。

別名は以下の方法で表示されます。

ロード・モジュール・アナライザーによって作成される出力内容の説明

以下の情報が、各 CSECT ごとの出力の中に組み込まれます。

例: OS/VS COBOL ロード・モジュールに対してロード・モジュール・アナライザーが作成する出力

以下の例は、OS/VS COBOL ロード・モジュールに対して表示される可能性のある出力の一部です。

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         

ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)