ロード・モジュールの比較

ライブラリーのメンバーとしてのロード・モジュールは、順次データ・セットであり、他のデータ・セットのように、内容を比較できます。レコード・モード比較は、ロード・モジュールが同一であるかどうかを検査するために役立ちますが、結果にモジュール・テキストでの差異を含めるには、通常では、さらなる分析が必要です。

ただし、参照する必要があるのは、たいていの場合、レコード・レベルではなく論理レベルでの差異です。例えば、1 つのモジュールの両方のバージョンが、同じ時刻にリンクされているか、CSECT のサイズが異なるか、または同じコンパイラーを使用してコンパイルされたかどうかなどの情報が必要になります。

ロード・モジュールの定様式比較では、論理レベルでロード・モジュールを比較でき、比較および報告するプロパティーを選択することもできます。

次の手順を実行すると、2 つのロード・モジュールにおける定様式比較の概念を確認できます。

  • ロード・モジュール・レベルでの比較基準を選択して、比較する情報を定義します。
    • ロード・モジュール・サイズ
    • ロード・モジュール・エントリー・ポイント・アドレス
    • ロード・モジュールの作成に使用された、リンケージ・エディターまたはバインダーのバージョン
    • ロード・モジュール・リンク日時
    • ロード・モジュールの AMODE および RMODE
    • ロード・モジュール許可コード (AC)
    • ロード・モジュール・リンク属性
    • コンパイル・オプション
    • プログラム属性

    CSECT レベルでの以下の情報も比較できます (CSECT を比較する場合)。

    • CSECT サイズ
    • CSECT アドレス
    • CSECT のコンパイルに使用された言語コンパイラーのバージョン
    • CSECT コンパイル日付
    • CSECT の AMODE および RMODE
    • AMASPZAP IDR データ
    • テキスト - CSECT の内容 (命令と定数)
  • File Manager では、比較するロード・モジュールごとに、ロード・モジュールから抽出した情報を含んでいる 1 つ以上の論理レコードを作成します。ロード・モジュール・サイズ、エントリー・ポイント・アドレス、ロード・モジュール・リンク日付などのロード・モジュール・プロパティーが、1 つの論理レコードのフィールドを構成します。各 CSECT は、CSECT サイズ、アドレス、コンパイル日付などの CSECT プロパティーを含んでいる独自の専用論理レコードを 1 つ持ちます。追加の CSECT 情報、ZAP IDR または CSECT テキストを比較する必要がある場合は、この論理レコードが、保持する情報に適したレイアウトを持つ、多数の物理レコードに分割されます。
  • レコードのレイアウトと選択した比較基準によって決定される、固有のマッピングが 1 つ存在します。このマッピングによって、定様式比較での比較処理が規定されます。ロード・モジュール・レベルでの情報を表しているレコードが、2 つ目のモジュールを表している、対応するレコードと比較されます。CSECT を表している、対応するレコード (同じ CSECT 名のレコード) も比較されます。比較報告書には、他の各タイプの定様式比較と同様な方法で差異が表示されます。インデントは、情報の階層、つまりロード・モジュール ► CSECT ► CSECT テキストおよび ZAP IDR データを示します。

ロード・モジュール比較を実行するには、「Compare Utility (比較ユーティリティー)」(3.11 またはバッチでの DSM) を使用するか、「Load Module Compare (ロード・モジュール比較)」ユーティリティー (3.10.2 またはバッチでの CLM) を使用します。これらは同じ ISPF 変数を共用します。バッチでの構文も同じです。

ロード・モジュールの定様式比較を実行するには、次のようにします。

  1. 「Primary Option Menu (基本オプション・メニュー)」から「Compare Utility (比較ユーティリティー)」(オプション 3.11) を選択します。

    File Manager により、「Compare Utility (比較ユーティリティー)」-「"Old" Data Set Entry (「旧」データ・セット項目の入力)」パネルが表示されます。

  2. 「旧」ロード・モジュール情報を指定します。
  3. [Enter] を押します。

    File Manager により、「Compare Utility (比較ユーティリティー)」-「"New" Data Set Entry (「新」データ・セット項目の入力)」パネルが表示されます。

  4. 「新」ロード・モジュール情報を指定します。
  5. [Enter] を押します。

    File Manager では、「旧」側、「新」側両方のロード・モジュールを識別して、ロード・モジュールの定様式比較を実行するよう要求されたと想定します。この結果、File Manager により、「Compare Options (比較オプション)」パネルではなく「Compare Load Module Options (ロード・モジュール比較オプション)」パネルが表示されます。

  6. 以下を指定します。
    • Comparison type (比較タイプ): レコード・モードでロード・モジュールの内容を比較する場合でなければ「Formatted (定様式)」を指定します。
    • Compare level (比較レベル): 「Module (モジュール)」レベルのほうが「CSECT」レベルより一般的です。
    • Load module criteria (ロード・モジュール基準): 比較するロード・モジュール・プロパティーを指定します。基準を選択しないと、ロード・モジュール名の比較のみが実行されます。
    • CSECT criteria (CSECT 基準): 比較する CSECT プロパティーを指定します (「Compare level (比較レベル)」が CSECT の場合にのみ適用可能です)。
    • Processing Options (処理オプション): 必要に応じて指定します。
    • Listing Options (リストのオプション): 必要に応じて指定します。
  7. Enter キーを押して比較を実行します。
  8. 報告書の表示またはバッチ JCL の編集を終了したら、Exit 機能キー (F3) を押して、「旧」データ・パネルに戻ります。

関連トピック