Rational Developer for System z、バージョン 7.6.1

付録C. IBM 問題判別ツール製品で使用するプログラムのコンパイルおよびアセンブルに関するクイック・スタート・ガイド

この章では、IBM 問題判別ツール製品で使用するためのプログラムの準備に必要な最小限の手順を説明します。 詳しい情報については、「Debug Tool for z/OS® ユーザーズ・ガイド」の『第 2 部 プログラムをデバッグするための準備』、「Fault Analyzer for z/OS User's Guide」の『Part 2. Fault Analyzer Installation and Administration』、または「Application Performance Analyzer for z/OS User’s Guide」の『Appendix B. Creating side files using CAZLANGX』を参照してください。

この章の目的は、Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS を組み合わせて使用している組織のための、単一コンパイル方式に関する説明を紹介することです。 Debug Tool for z/OS のみを使用している企業では、「Debug Tool for z/OS ユーザーズ・ガイド」の『第 2 部 プログラムをデバッグするための準備』を参照してください。 Fault Analyzer for z/OS のみを使用している企業では、「Fault Analyzer for z/OS User's Guide」の『Part 2. Fault Analyzer Installation and Administration』を参照してください。Application Performance Analyzer for z/OS のみを使用している企業では、『Application Performance Analyzer for z/OS User’s Guide」の『Appendix B. Creating side files using CAZLANGX』を参照してください。

Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS は、IBM コンパイラーによって生成されたロード・モジュールや他のファイルを使用するように設計されています。プログラムをコンパイルするときは、必ず、これらの製品が使用できるロード・モジュールとファイルがそのプログラムによって生成されるようにする、特定のコンパイラー・オプションを指定してください。

この章で使用する「ソース情報ファイル」という用語は、Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS によって使用されるファイルのタイプを表します。この章の説明対象となっている別の種類のソース情報ファイルには、以下のものがあります。

コンパイラーが異なると、生成されるソース情報ファイルの種類も異なる点に注意してください。 複数のコンパイラーを使用すると、複数のタイプのソース情報ライブラリーが生成される可能性があります。

この章で説明するコンパイラー・オプションを指定してプログラムをコンパイルすると、コンパイラーによって作成されたロード・モジュールおよびソース情報ファイルは次のように使用できます。

ビルド・プロセスの更新

最近ご使用のシステムに 1 つ以上の IBM 問題判別ツール製品がインストールされた場合、プログラムのビルド・プロセスがまだ更新されていない可能性があります。 ビルド・プロセスの更新は、IBM 問題判別ツール製品の実装において重要かつ必須の部分です。

多くの組織では、これらのビルド・プロセスの所有権が明確に設定されています。 それ以外の組織では、変更を行う担当者が明確に決められていない場合があります。 多くの組織では標準のコンパイル・プロセスまたは PROC が使用されています。これらはシステム管理者が維持し、IBM 問題判別ツール製品用のプログラムの準備のための更新を済ませています。 これが該当する場合は、使用可能なプロセスとそれらの使用方法を調べてください。 それ以外の組織では、各開発者がプログラムをコンパイルするための独自のコンパイル JCL または PROC が維持されています。 これが該当する場合は、以下の説明に従って、その独自のコンパイル JCL を更新して、IBM 問題判別ツール製品用にプログラムを準備してください。

最初に、各コンパイラーに必要な内容を個々に調べてください。 例えば、Enterprise COBOL for z/OS、Enterprise PL/I for z/OS、C/C++、およびアセンブラーに必要な変更は、それぞれわずかに異なります。

一般に、IBM 問題判別ツールで使用できるプログラムを生成するためにコンパイラー JCL で必要になる可能性がある変更点は、以下の 3 つです。

  1. IBM 問題判別ツールに必要なコンパイラー・オプションを指定します。 例えば、Enterprise COBOL for z/OS の場合は、TEST オプションが必要です。
  2. JCL をコーディングして、IBM 問題判別ツール製品に必要なソース情報ファイルを生成し、保存します。 最近のコンパイラーは必要なソース情報ファイルを直接生成できます。 一部の古いコンパイラーでは、コンパイル・ジョブで、必要なファイルを生成する特殊なユーティリティー・プログラムを実行するための追加ステップが必要となります。
  3. ある特定の環境では、リンク・エディットのステップ中に特殊な Debug Tool for z/OS モジュールをアプリケーション・ロード・モジュールに組み込むことでメリットが得られます。 ほとんどの場合これはオプションですが、特定のタイプのプログラムでは Debug Tool for z/OS の始動を単純化できます。 特定の環境で実行されている特定の古いコンパイラーでは、特殊なモジュールを組み込まないと Debug Tool for z/OS を使用可能にできません。

プロモーション・プロセスの更新

通常、プログラムをテストするときに、プログラム・ロード・モジュールはさまざまなステージを経てプロモートされた後に実動状態に達します。 例えば、初めて新しいプログラムをコンパイルする場合、そのプログラムはテスト・ロード・ライブラリーに入れられると考えられます。 単体テストの完了後、コンパイルされたプログラムはおそらく品質保証環境にプロモートされます。 そして最終的に、実動状態にプロモートされます。ご使用のシステムでは、これらのステージが以下のような別の名前で呼ばれている場合があります。

プログラムのライフサイクルを通して Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS を使用できるようにするかどうか検討してください。Debug Tool for z/OS を実動プログラムでは使用しない予定の場合でも、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS はこれらのステージで非常に有用です。 各ステージで IBM 問題判別ツール製品を使用可能にするには、プロモーション・プロセスを更新して、ソース情報ファイルを保存してください。 プロモーションを実行するには、再コンパイル、コピー、または移動を行います。 ソース情報ファイルでも、ロード・モジュールまたはオブジェクト・モジュールで実行するステップと同じステップを実行してください。 各ロード・ライブラリーまたはオブジェクト・ライブラリーでは、対応するソース情報ライブラリー・セットが必要です。 ロード・モジュールまたはオブジェクト・モジュールのどちらをプロモートする場合でも、ソース情報ファイルもプロモートする必要があります。 これにより、ソース情報ファイルを Fault Analyzer および Application Performance Analyzer で使用でき、引き続き、プログラムのライフサイクルのすべてのステージで IBM 問題判別ツール製品を活用することができます。

プログラムの準備

各コンパイラーはそれぞれ異なる種類のソース情報ファイルを生成し、各 IBM 問題判別ツール製品はそれぞれ異なる種類のファイルを読み取ります。 さまざまな組み合わせをすべて調べるには時間がかかりますが、以下で説明するように、各コンパイラーごとの推奨方式があります。 推奨方式を使用すると、そのプログラムは IBM 問題判別ツール製品をフル活用できるようになります。

Enterprise COBOL for z/OS バージョン 4 プログラム

次の表は、Enterprise COBOL for z/OS バージョン 4 プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールでは、著しく大きなランタイム・オーバーヘッドは発生しません。

表 19. Enterprise COBOL for z/OS バージョン 4 で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
TEST(NOHOOK, SEPARATE, EJPD), LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) SYSDEBUG はい 実動およびテスト用に推奨
NOTEST, LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) コンパイラー・リスト はい なし サポートされる サポートされる
NOTEST, LIST, MAP, SOURCE, XREF(SHORT), NUMBER はい なし サポートされる なし
LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) LANGX ファイル はい なし サポートされる サポートされる
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

Enterprise COBOL for z/OS バージョン 4 プログラムの準備

Enterprise COBOL for z/OS バージョン 4 プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、Enterprise COBOL for z/OS バージョン 4 プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。 これは、汎用的なサンプルであるため、それぞれのモジュールを生成するための要件をすべて満たすとは限りません。

TEST コンパイラー・オプションが指定されていることに注目してください。 使用しているコンパイラーのバージョンに応じた TEST コンパイラー・オプションの正しいサブオプションをコーディングしてください。 ご使用のプログラムに必要な他の互換コンパイラー・オプションもすべてコーディングできます。

SYSDEBUG DD ステートメントがコーディングされていることにも注目してください。 これはコンパイラーが生成するソース情報ファイルです。 これは SYSDEBUG ライブラリー (PDS または PDSE) を参照しています。メンバー名はプログラム名と同じでなければなりません。

Enterprise COBOL for z/OS の場合、必要な変更はこれらのみです。

ただし、リンケージ・エディターのステップではオプションで行う変更があります。 下記の例は、特殊な Language Environment 出口モジュールがアプリケーション・ロード・モジュールに組み込まれていることを示しています。 これは必須ではありませんが、これによって Debug Tool のパネル 6 を使用できるようになるため、環境によってはデバッガーを簡単に開始できるようになります。 パネル 6 を使用して Debug Tool を開始したい場合、それを可能にする 1 つの方法がこの出口モジュールです。Debug Tool のパネル 6 を使用しない予定の場合は、出口モジュールを組み込まないでください。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE AN ENTERPRISE COBOL PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A TEST COMPILER PARM IS REQUIRED FOR DEBUG TOOL
//*    2. COMPILER PARM TEST(NOHOOK,SEPARATE,EJPD) HAS ADVANTAGES:
//*         - THE MODULE IS READY FOR DEBUG TOOL
//*         - THE MODULE IS PRODUCTION-READY (NO RUN-TIME OVERHEAD)
//*         - A SYSDEBUG FILE IS CREATED THAT CAN BE USED BY DT,FA,APA
//*    3. COMPILER PARMS LIST,MAP,SOURCE,XREF ARE REQUIRED IF YOU PLAN
//*       TO USE THE COMPILER LISTING WITH FA OR APA, OR XXXLANGX
//*
//*   BINDER (LINKAGE EDITOR):
//*    4. THE INCLUDE FOR MODULE EQAD?CXT IS *OPTIONAL*.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=SAM1                             PROGRAM NAME
//   SET COBOLLIB='IGY.V4R1.SIGYCOMP'         COBOL COMPILER LOADLIB
//   SET DTLIB='EQAW.SEQAMOD'                 DEBUG TOOL LOADLIB
//   SET LELIB='CEE.SCEELKED'                 LE LINKEDIT LIBRARY
//   SET UNITDEV=SYSALLDA                     UNIT FOR TEMP FILES
//*
//*  ****************************
//*        COMPILE STEP
//*  ****************************
//COMPILE  EXEC PGM=IGYCRCTL,REGION=0M,
//   PARM=('TEST(NOHOOK,SEPARATE,EJPD),LIST,MAP,XREF(SHORT),NONUMBER,SOURCE')
//STEPLIB  DD DISP=SHR,DSN=&COBOLLIB
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.LISTING(&MEM)
//SYSDEBUG DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSDEBUG(&MEM)
//SYSLIN   DD DISP=(MOD,PASS),DSN=&&LOADSET,UNIT=&UNITDEV,
//            SPACE=(80,(10,10))
//SYSUT1   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT2   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT3   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT4   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT5   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT6   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT7   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//*
//CBLPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LKED EXEC PGM=IEWL,REGION=0M,COND=(5,LT,COMPILE),PARM='LIST,XREF'
//SYSLIB   DD DISP=SHR,DSN=&LELIB
//DTLIB    DD DISP=SHR,DSN=&DTLIB
//SYSLMOD  DD DSN=&SYSUID..ADLAB.LOAD(&MEM),DISP=SHR
//SYSLIN   DD DISP=(OLD,DELETE),DSN=&&LOADSET
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT) IS OPTIONAL.
//*  AN EXIT ENABLES STARTING DEBUG TOOL USING THE USER EXIT DATA SET UTILITY
//*  (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD UNIT=&UNITDEV,DCB=BLKSIZE=1024,SPACE=(1024,(200,20))

Enterprise COBOL for z/OS バージョン 3 および COBOL for OS/390 および VM プログラム

次の表は、Enterprise COBOL for z/OS バージョン 3、および COBOL for OS/390® および VM プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールでは、著しく大きなランタイム・オーバーヘッドは発生しません。

表 20. Enterprise COBOL for z/OS バージョン 3、および COBOL for OS/390 および VM で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
TEST(NONE, SYM, SEPARATE), LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) SYSDEBUG はい 実動およびテスト用に推奨
NOTEST, LIST, MAP, SOURCE, NONUMBER, NOOPT, XREF(SHORT) コンパイラー・リスト はい なし サポートされる サポートされる
NOTEST, LIST, MAP, SOURCE, XREF(SHORT), NUMBER はい なし サポートされる なし
LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) LANGX ファイル はい なし サポートされる サポートされる
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

Enterprise COBOL for z/OS バージョン 3、および COBOL for OS/390 および VM プログラムの準備

Enterprise COBOL for z/OS バージョン 3、および COBOL for OS/390 および VM プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、Enterprise COBOL for z/OS バージョン 3 プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。 これは、汎用的なサンプルであるため、それぞれの要件をすべて満たすとは限りません。

TEST オプションが指定されていることに注目してください。 使用しているコンパイラーのバージョンに応じた TEST コンパイラー・オプションの正しいサブオプションをコーディングしてください。 ご使用のプログラムに必要な他の互換コンパイラー・オプションもすべてコーディングできます。

SYSDEBUG DD ステートメントがコーディングされていることにも注目してください。 これはコンパイラーが生成するソース情報ファイルです。 これは SYSDEBUG ライブラリー (PDS または PDSE) を参照しています。メンバー名はプログラム名と同じでなければなりません。

Enterprise COBOL for z/OS の場合、必要な変更はこれらのみです。

ただし、リンケージ・エディターのステップではオプションで行う変更があります。 下記の例は、特殊な Language Environment 出口モジュールがアプリケーション・ロード・モジュールに組み込まれていることを示しています。 これは必須ではありませんが、これによって Debug Tool のパネル 6 を使用できるようになるため、環境によってはデバッガーを簡単に開始できるようになります。 パネル 6 を使用して Debug Tool を開始したい場合、それを可能にする 1 つの方法がこの出口モジュールです。Debug Tool のパネル 6 を使用しない予定の場合は、出口モジュールを組み込まないでください。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE AN ENTERPRISE COBOL PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A TEST COMPILER PARM IS REQUIRED FOR DEBUG TOOL
//*    2. COMPILER PARM TEST(NONE,SYM,SEP) HAS THREE ADVANTAGES:
//*         - THE MODULE IS READY FOR DEBUG TOOL
//*         - THE MODULE IS PRODUCTION-READY (NO RUN-TIME OVERHEAD)
//*         - A SYSDEBUG FILE IS CREATED THAT CAN BE USED BY DT,FA,APA
//*    3. COMPILER PARMS LIST,MAP,SOURCE,XREF ARE REQUIRED IF YOU PLAN
//*       TO USE THE COMPILER LISTING WITH FA OR APA, OR XXXLANGX
//*    4. COMPILER PARM NOOPT IS OPTIONAL.  HOWEVER, THE DEBUG TOOL
//*       COMMANDS JUMPTO AND GOTO WILL NOT BE AVAILABLE IF
//*       THE OPT PARM IS USED
//*
//*   BINDER (LINKAGE EDITOR):
//*    5. THE INCLUDE FOR MODULE EQAD?CXT IS *OPTIONAL*.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=SAM1                             PROGRAM NAME
//   SET COBOLLIB='IGY.V3R4.SIGYCOMP'         COBOL COMPILER LOADLIB
//   SET DTLIB='EQAW.SEQAMOD'                 DEBUG TOOL LOADLIB
//   SET LELIB='CEE.SCEELKED'                 LE LINKEDIT LIBRARY
//   SET UNITDEV=SYSALLDA                     UNIT FOR TEMP FILES
//*
//*  ****************************
//*        COMPILE STEP
//*  ****************************
//COMPILE  EXEC PGM=IGYCRCTL,REGION=0M,
//   PARM=('TEST(NONE,SYM,SEPARATE),LIST,MAP,SOURCE,NONUMBER,XREF(SHORT)')
//STEPLIB  DD DISP=SHR,DSN=&COBOLLIB
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.LISTING(&MEM)
//SYSDEBUG DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSDEBUG(&MEM)
//SYSLIN   DD DISP=(MOD,PASS),DSN=&&LOADSET,UNIT=&UNITDEV,
//            SPACE=(80,(10,10))
//SYSUT1   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT2   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT3   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT4   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT5   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT6   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT7   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//*
//CBLPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LKED EXEC PGM=IEWL,REGION=0M,COND=(5,LT,COMPILE),PARM='LIST,XREF'
//SYSLIB   DD DISP=SHR,DSN=&LELIB
//DTLIB    DD DISP=SHR,DSN=&DTLIB
//SYSLMOD  DD DSN=&SYSUID..ADLAB.LOAD(&MEM),DISP=SHR
//SYSLIN   DD DISP=(OLD,DELETE),DSN=&&LOADSET
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT) IS OPTIONAL.
//*  AN EXIT ENABLES STARTING DEBUG TOOL USING THE USER EXIT DATA SET UTILITY
//*  (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD UNIT=&UNITDEV,DCB=BLKSIZE=1024,SPACE=(1024,(200,20))

COBOL for MVS and VM プログラム

次の表は、COBOL for MVS and VM プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 21. COBOL for MVS and VM で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
TEST(ALL, SYM), LIST, MAP, SOURCE, NOOPT, NONUMBER, XREF(SHORT) コンパイラー・リスト いいえ テスト用に推奨。 (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。)
NOTEST, LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) はい なし 実動用に推奨
NOTEST, LIST, MAP, SOURCE, NONUMBER, XREF(SHORT) LANGX ファイル はい なし サポートされる サポートされる
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

COBOL for MVS and VM プログラムの準備

COBOL for MVS and VM プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、COBOL for MVS and VM プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。 これは、汎用的なサンプルであるため、それぞれの要件をすべて満たすとは限りません。

TEST オプションが指定されていることに注目してください。 使用しているコンパイラーのバージョンに応じた TEST コンパイラー・オプションの正しいサブオプションをコーディングしてください。 ご使用のプログラムに必要な他の互換コンパイラー・オプションもすべてコーディングできます。

さらに、SYSPRINT DD が永続ファイルを参照している点にも注目してください。 これはコンパイラーが生成するソース情報ファイルです。 これはリスト・ライブラリー (PDS または PDSE) を参照しています。メンバー名はプログラム名と同じでなければなりません。 COBOL for MVS and VM の場合、必要な変更はこれらのみです。

ただし、リンケージ・エディターのステップではオプションで行う変更があります。 下記の例は、特殊な Language Environment 出口モジュールがアプリケーション・ロード・モジュールに組み込まれていることを示しています。 これは必須ではありませんが、これによって Debug Tool のパネル 6 を使用できるようになるため、環境によってはデバッガーを簡単に開始できるようになります。 パネル 6 を使用して Debug Tool を開始したい場合、それを可能にする 1 つの方法がこの出口モジュールです。Debug Tool のパネル 6 を使用しない予定の場合は、出口モジュールを組み込まないでください。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE A COBOL FOR MVS AND VM PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A TEST COMPILER PARM IS REQUIRED FOR DEBUG TOOL
//*    2. COMPILER PARMS LIST,MAP,SOURCE,XREF ARE REQUIRED IF YOU PLAN
//*       TO USE THE COMPILER LISTING WITH FA OR APA, OR XXXLANGX
//*    3. COMPILER PARM NOOPT IS OPTIONAL.  HOWEVER, THE DEBUG TOOL
//*       COMMANDS JUMPTO AND GOTO WILL NOT BE AVAILABLE IF
//*       THE OPT PARM IS USED
//*
//*   BINDER (LINKAGE EDITOR):
//*    4. THE INCLUDE FOR MODULE EQAD?CXT IS *OPTIONAL*.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=SAM1                             PROGRAM NAME
//   SET COBOLLIB='IGY.SIGYCOMP'              COBOL COMPILER LOADLIB
//   SET DTLIB='EQAW.SEQAMOD'                 DEBUG TOOL LOADLIB
//   SET LELIB='CEE.SCEELKED'                 LE LINKEDIT LIBRARY
//   SET UNITDEV=SYSALLDA                     UNIT FOR TEMP FILES
//*
//*  ****************************
//*        COMPILE STEP
//*  ****************************
////COMPILE  EXEC PGM=IGYCRCTL,REGION=0M,
//   PARM=(NOTEST,LIST,MAP,SOURCE,NONUMBER,XREF(SHORT)')
//STEPLIB  DD DISP=SHR,DSN=&COBOLLIB
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.LISTING(&MEM)
//SYSDEBUG DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSDEBUG(&MEM)
//SYSLIN   DD DISP=(MOD,PASS),DSN=&&LOADSET,UNIT=&UNITDEV,
//            SPACE=(80,(10,10))
//SYSUT1   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT2   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT3   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT4   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT5   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT6   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT7   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//*
//CBLPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LKED EXEC PGM=IEWL,REGION=0M,COND=(5,LT,COMPILE),PARM='LIST,XREF'
//SYSLIB   DD DISP=SHR,DSN=&LELIB
//*** DTLIB    DD DISP=SHR,DSN=&DTLIB
//SYSLMOD  DD DSN=&SYSUID..ADLAB.LOAD(&MEM),DISP=SHR
//SYSLIN   DD DISP=(OLD,DELETE),DSN=&&LOADSET
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT) IS OPTIONAL.
//*  AN EXIT ENABLES STARTING DEBUG TOOL USING THE USER EXIT DATA SET UTILITY
//*  (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD UNIT=&UNITDEV,DCB=BLKSIZE=1024,SPACE=(1024,(200,20))

VS COBOL II プログラム (モジュールが Language Environment ランタイム・サービスとリンクされている場合)

次の表は、モジュールが Language Environment ランタイム・サービスとリンクされている場合に VS COBOL II プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールでは、著しく大きなランタイム・オーバーヘッドは発生しません。

表 22. モジュールが Language Environment ランタイム・サービスとリンクされている場合に VS COBOL II で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
TEST, LIST, MAP, SOURCE, NONUMBER, NOOPT, XREF(SHORT) コンパイラー・リスト いいえ テスト用に推奨。 (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。)
TEST, LIST, MAP, SOURCE, XREF(SHORT), NUMBER いいえ サポートされる サポートされる なし
NOTEST, LIST, MAP, SOURCE, NONUMBER, NOOPT, XREF(SHORT) はい なし 実動用に推奨
NOTEST, LIST, MAP, SOURCE, XREF(SHORT), NUMBER はい なし サポートされる なし
NOTEST, LIST, MAP, SOURCE, XREF(SHORT, NONUMBER LANGX ファイル はい なし サポートされる サポートされる
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

モジュールが Language Environment ランタイム・サービスとリンクされている場合の VS COBOL II プログラムの準備

モジュールが Language Environment ランタイム・サービスとリンクされている場合に VS COBOL II プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、VS COBOL II プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。 これは、汎用的なサンプルであるため、それぞれの要件をすべて満たすとは限りません。

TEST オプションが指定されていることに注目してください。 使用しているコンパイラーのバージョンに応じた TEST コンパイラー・オプションの正しいサブオプションをコーディングしてください。 ご使用のプログラムに必要な他の互換コンパイラー・オプションもすべてコーディングできます。

さらに、SYSPRINT DD を永続ファイルに保存する必要がある点にも注目してください。 これはコンパイラーが生成するソース情報ファイルです。 これはリスト・ライブラリー (PDS または PDSE) を参照しています。

VS COBOL II の場合、必要な変更はこれのみです。

ただし、リンケージ・エディターのステップではオプションで行う変更があります。 下記の例は、特殊な Language Environment 出口モジュールがアプリケーション・ロード・モジュールに組み込まれていることを示しています。 これは必須ではありませんが、これによって Debug Tool のパネル 6 を使用できるようになるため、環境によってはデバッガーを簡単に開始できるようになります。 パネル 6 を使用して Debug Tool を開始したい場合、それを可能にする 1 つの方法がこの出口モジュールです。Debug Tool のパネル 6 を使用しない予定の場合は、出口モジュールを組み込まないでください。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE A VS COBOL II PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A TEST COMPILER PARM IS REQUIRED FOR DEBUG TOOL
//*    2. COMPILER PARMS LIST,MAP,SOURCE,XREF ARE REQUIRED IF YOU PLAN
//*       TO USE THE LISTING WITH A PD TOOLS PRODUCT, OR TO PROCESS
//*       THE LISTING WITH AN XXXLANGX UTILITY
//*
//*   BINDER (LINKAGE EDITOR):
//*    3. THE INCLUDE FOR MODULE EQAD?CXT IS *OPTIONAL*.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=SAMII1                           PROGRAM NAME
//   SET COB2COMP='IGY.V1R4M0.COB2COMP'       COBOL II COMPILER LIB
//   SET DTLIB='EQAW.SEQAMOD'                 DEBUG TOOL LOADLIB
//   SET LELIB='CEE.SCEELKED'                 LE LINKEDIT LIBRARY
//   SET UNITDEV=SYSALLDA                     TEMP DATASET UNIT
//*
//*  ****************************
//*        COMPILE STEP
//*  ****************************
//COMPILE  EXEC PGM=IGYCRCTL,REGION=4M,
//   PARM=('TEST,LIST,MAP,SOURCE,NONUMBER,NOOPT,XREF(SHORT)')
//STEPLIB  DD DISP=SHR,DSN=&COB2COMP
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.LISTING(&MEM)
//SYSLIN   DD DISP=(MOD,PASS),DSN=&&LOADSET,UNIT=&UNITDEV,
//            SPACE=(80,(10,10))
//SYSUT1   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT2   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT3   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT4   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT5   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT6   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT7   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//*
//*
//CBLPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LKED EXEC PGM=IEWL,REGION=0M,COND=(5,LT,COMPILE),PARM='LIST,XREF'
//SYSLIB   DD DISP=SHR,DSN=&LELIB
//DTLIB    DD DISP=SHR,DSN=&DTLIB
//SYSLMOD  DD DSN=&SYSUID..ADLAB.LOAD(&MEM),DISP=SHR
//SYSLIN   DD DISP=(OLD,DELETE),DSN=&&LOADSET
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT) IS OPTIONAL.
//*  AN EXIT ENABLES STARTING DEBUG TOOL USING THE USER EXIT DATA SET UTILITY
//*  (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD UNIT=SYSALLDA,DCB=BLKSIZE=1024,SPACE=(1024,(200,20))

VS COBOL II プログラム (モジュールが Language Environment ランタイム・サービスとリンクされていない場合)

次の表は、モジュールが Language Environment ランタイム・サービスとリンクされていない場合に VS COBOL II プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 23. モジュールが Language Environment ランタイム・サービスとリンクされていない (COBOL II ランタイム・サービスとリンクされている) 場合に VS COBOL II で問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
NOTEST, LIST, MAP, SOURCE, NONUMBER, NOOFFSET, XREF コンパイラー・リスト はい なし サポートされる サポートされる
NOTEST, LIST, MAP, SOURCE, XREF, NUMBER はい なし サポートされる なし
NOTEST, LIST, MAP, NOOPT, SOURCE, XREF, NONUMBER LANGX ファイル はい 実動およびテスト用に推奨
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

モジュールが Language Environment ランタイム・サービスとリンクされていない場合の VS COBOL II プログラムの準備

モジュールが Language Environment ランタイム・サービスとリンクされていない場合に VS COBOL II プログラムをコンパイルするには、以下のステップを実行します。

OS/VS COBOL プログラム

次の表は、OS/VS COBOL プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 24. OS/VS COBOL で問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
DMAP, NOCLIST, NOLST, PMAP, SOURCE, VERB, XREF(SHORT) コンパイラー・リスト はい なし サポートされる サポートされる
(LIST,NOPMAP) または (CLIST,NOPMAP) または (CLIST,PMAP) はい なし なし なし
NOBATCH, NOCLIST, NOCOUNT, DMAP, NOLST, PMAP, SOURCE, NOSYMDMP, NOTEST, NOOPT, VERB, XREF(SHORT) LANGX ファイル はい 実動およびテスト用に推奨
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

OS/VS COBOL プログラムの準備

OS/VS COBOL プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、OS/VS プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE AN OS VS COBOL PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    -  COMPILER PARMS DMAP,NOCLIST,NOLST,PMAP,SOURCE,VERB,XREF
//*       ARE REQUIRED IF YOU PLAN TO USE THE COMPILER LISTING WITH
//*       PD TOOLS AND/OR PROCESS IT WITH XXXLANGX
//*
//*   A STEP THAT PROCESSES THE SYSADATA FILE,
//*   AND CREATES A LANGX FILE IS NEEDED.
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
// SET MEM=SAMOS1                       PROGRAM NAME
// SET OSVSCOMP='IGY.VSCOLIB'           OS VS COBOL COMPILER LIBRARY
// SET LELIB='CEE.SCEELKED'             LE LINKEDIT LIBRARY
// SET UNITDEV=SYSALLDA                 UNIT FOR TEMP FILES
// SET SCEERUN='CEE.SCEERUN'            LANGUAGE ENVIRON SCEERUN LIB
// SET LANGX='EQALANGX'                 XXXLANGX UTILITY PROGRAM
// SET LANGXLIB='EQAW.SEQAMOD'          LIBRARY FOR XXXLANGX UTILITY
//*    NOTE: THE XXXLANGX UTILITY IS AVAILABLE WITH DEBUG TOOL,
//*          FAULT ANALYZER, AND APA WITH DIFFERENT NAMES.  YOU CAN
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE DEBUG TOOL, YOU CAN SET:
//*         LANGX='EQALANGX'  LANGXLIB=(THE DT SEQAMOD LIBRARY)
//*      IF YOU HAVE FAULT ANALYZER YOU CAN SET:
//*         LANGX='IDILANGX'  LANGXLIB=(THE FA SIDIMOD1 LIBRARY)
//*      IF YOU HAVE APA (APP. PERFORMANCE ANALYZER) YOU CAN SET:
//*         LANGX='CAZLANGX'  LANGXLIB=(THE APA SCAZAUTH LIBRARY)
//*
//*  ****************************
//*        COMPILE STEP
//*  ****************************
//COMPILE  EXEC PGM=IKFCBL00,REGION=4M,
//   PARM=('DMAP,NOCLIST,NOLST,NOOPT,SOURCE,VERB,XREF(SHORT)')
//*   FOR DT (CHECK DEFAULTS): NOBATCH,NOCOUNT,PMAP,NOSYMDMP,NOTEST
//STEPLIB  DD DISP=SHR,DSN=&OSVSCOMP
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.OSVSCOB.LISTING(&MEM)
//SYSLIN   DD DISP=(MOD,PASS),DSN=&&LOADSET,UNIT=&UNITDEV,
//            SPACE=(80,(10,10))
//SYSUT1   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT2   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT3   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT4   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT5   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT6   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//SYSUT7   DD SPACE=(80,(10,10),,,ROUND),UNIT=&UNITDEV
//*
//CBLPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.OSVSCOB.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*
//*  *********************************
//*     STEP TO GENERATE LANGX FILE
//*  *********************************
//LANGX    EXEC PGM=&LANGX,REGION=32M,
//  PARM='(COBOL ERROR 64K CREF'
//STEPLIB  DD DISP=SHR,DSN=&LANGXLIB
//         DD DISP=SHR,DSN=&SCEERUN
//LISTING  DD DSN=&SYSUID..ADLAB.OSVSCOB.LISTING(&MEM),DISP=SHR
//IDILANGX DD DISP=SHR,DSN=&SYSUID..ADLAB.EQALANGX(&MEM)
//*
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LKED EXEC PGM=IEWL,REGION=0M,COND=(5,LT,COMPILE),PARM='LIST,XREF'
//SYSLIB   DD DISP=SHR,DSN=&LELIB
//SYSLMOD  DD DSN=&SYSUID..ADLAB.LOAD(&MEM),DISP=SHR
//SYSLIN   DD DISP=(OLD,DELETE),DSN=&&LOADSET
//SYSPRINT DD SYSOUT=*
//SYSUT1   DD UNIT=&UNITDEV,DCB=BLKSIZE=1024,SPACE=(1024,(200,20))

Enterprise PL/I バージョン 3.5 以降のプログラム

次の表は、Enterprise PL/I バージョン 3.5 以降のプログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 25. Enterprise PL/I バージョン 3.5 以降で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
ソースを展開するためのプリプロセス (第 1 ステージ)、コンパイル時 (第 2 ステージ): TEST(ALL, SYM, NOHOOK, SEPARATE), NOPT, AGGREGATE, ATTRIBUTES (FULL), NOBLKOFF, LIST, MAP, NEST, NONUMBER, OFFSET, OPTIONS, SOURCE, STMT, XREF(FULL)) Debug Tool for z/OS および Fault Analyzer for z/OS によって使用される SYSDEBUG ファイル。Application Performance Analyzer for z/OS によって使用される LANGX ファイル。 このモジュールは NOTEST オプションを指定してコンパイルされたモジュールより大きいが、必要な場合はこのモジュールを実動で使用できる。 テスト用に推奨。 ロード・モジュールのサイズが増大しても問題ない場合、これらのオプションを実稼働環境でも使用できる。
ソースを展開するためのプリプロセス (第 1 ステージ)、コンパイル時 (第 2 ステージ): TEST(ALL, SYM, NOHOOK, NOSEPARATE), NOPT, AGGREGATE, ATTRIBUTES (FULL), NOBLKOFF, LIST, MAP, NEST, NONUMBER, OFFSET, OPTIONS, SOURCE, STMT, XREF(FULL)) Debug Tool for z/OS によって使用される展開済みソース・ファイル、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS によって使用される LANGX ファイル このモジュールは NOTEST オプションを指定してコンパイルされたモジュールより大きいが、必要な場合はこのモジュールを実動で使用できる。 サポートされる サポートされる サポートされる
AGGREGATE, ATTRIBUTES (FULL), NOBLKOFF, LIST, MAP, NEST, NOTEST, NONUMBER, OFFSET, OPTIONS, SOURCE, STMT, XREF(FULL)) コンパイラー・リスト はい なし サポートされる なし
LANGX ファイル はい なし 実動およびテスト用に推奨
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

Enterprise PL/I バージョン 3.5 以降のプログラムの準備

Enterprise PL/I バージョン 3.5 以降のプログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、Enterprise PL/I for z/OS バージョン 3.5 以降のプログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE AN ENTERPRISE PLI V3.5+ PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A 2-STAGE COMPILE IS PERFORMED.  STAGE 1 (PREPROCESS) IS
//*       DONE TO EXPAND INCLUDES AND MACROS IN THE PROGRAM, SO THAT
//*       THE SYSDEBUG FILE CREATED IN STAGE 2 (COMPILE) HAS ALL STMTS.
//*    2. COMPILER PARMS TEST AND NOPT ARE REQUIRED FOR DEBUG TOOL
//*    3. COMPILER PARM TEST(ALL,SYM,NOHOOK,SEP) IS USED BECAUSE:
//*         - THE MODULE IS READY FOR DEBUG TOOL
//*         - NOHOOK DOES NOT HAVE RUN-TIME CPU OVERHEAD. HOWEVER, THE
//*           MODULE IS LARGER BECAUSE OF STATEMENT TABLE
//*         - A SYSDEBUG FILE IS CREATED THAT CAN BE USED BY DT,FA,APA
//*    4. COMPILER PARMS AGGREGATE,ATTRIBUTES(FULL),NOBLKOFF,LIST,
//*       MAP,NEST,NONUMBER,OPTIONS,SOURCE,STMT,XREF(FULL) ARE NEEDED
//*       TO PROCESS THE COMPILER LISTING WITH XXXLANGX
//*
//*   BINDER (LINKAGE EDITOR):
//*    5. THE INCLUDE FOR MODULE EQAD?CXT IS OPTIONAL.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=PADSTAT                      PROGRAM NAME
//   SET PLICOMP='IBMZ.V3R5.SIBMZCMP'     PLI COMPILER LOADLIB
//   SET DTLIB='EQAW.SEQAMOD'             DEBUG TOOL LOADLIB
//   SET LEHLQ='CEE'                      LE HIGH LVL QUALIFIER
//   SET UNITDEV=SYSALLDA                 UNIT FOR TEMP FILES
//   SET LANGX='EQALANGX'                 XXXLANGX UTILITY PROGRAM
//   SET LANGXLIB='EQAW.SEQAMOD'          LIBRARY FOR XXXLANGX UTILITY
//*    NOTE: YOU CAN USE THE XXXLANGX UTILITY SHIPPED WITH DT, FA,
//*          OR APA. THEY NAMES ARE DIFFERENT, BUT RESULTS ARE THE SAME
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE:     SET LANGX TO:    SET LANGXLIB TO:
//*      DEBUG TOOL       EQALANGX         THE DT SEQAMOD LIBRARY
//*      FAULT ANALYZER   IDILANGX         THE FA SIDIMOD1 LIBRARY
//*      APA              CAZLANGX         THE APA SCAZAUTH LIBRARY
//*
//ALLOCOBJ EXEC PGM=IEFBR14              ALLOC OBJ LIB IF NEEDED
//OBJ   DD DSN=&SYSUID..ADLAB.OBJ,SPACE=(CYL,(3,1,15)),
//  DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=8000,DISP=(MOD,CATLG)
//*  ***************************************
//*     PREPROCESS STEP (COMPILE STAGE 1)
//*  ***************************************
//PRECOMP  EXEC PGM=IBMZPLI,REGION=0M,
//   PARM=('MACRO,MDECK,NOCOMPILE,NOSYNTAX,INSOURCE')
//STEPLIB  DD   DSN=&PLICOMP,DISP=SHR
//         DD   DSN=&LEHLQ..SCEERUN,DISP=SHR
//SYSIN    DD   DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD   DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD   SYSOUT=*
//SYSUT1   DD   SPACE=(1024,(200,50),,CONTIG,ROUND),DCB=BLKSIZE=1024,
//             UNIT=&UNITDEV
//SYSPUNCH DD DISP=(MOD,PASS),DSN=&&SRC1,UNIT=&UNITDEV,
//            SPACE=(80,(10,10))
//*
//*  ***************************************
//*     COMPILE STEP (COMPILE STAGE 2)
//*  ***************************************
//COMPILE  EXEC PGM=IBMZPLI,REGION=0M,
// PARM=('TEST(ALL,SYM,NOHOOK,SEPARATE),LIST,MAP,SOURCE,XREF(FULL),',
//       'NOBLKOFF,AGGREGATE,ATTRIBUTES(FULL),NEST,OPTIONS,NOPT,',
//       'STMT,NONUMBER,OFFSET')
//STEPLIB  DD DSN=&PLICOMP,DISP=SHR
//         DD DSN=&LEHLQ..SCEERUN,DISP=SHR
//SYSIN    DD DSN=&&SRC1,DISP=(OLD,PASS)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM)
//SYSDEBUG DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSDEBUG(&MEM)
//SYSUT1   DD SPACE=(CYL,(5,2),,CONTIG),DCB=BLKSIZE=1024,UNIT=&UNITDEV
//SYSLIN   DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=SHR
//*
//PLIPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*
//*  *********************************
//*     STEP TO GENERATE LANGX FILE
//*  *********************************
//LANGX    EXEC PGM=&LANGX,REGION=32M,
//  PARM='(PLI ERROR 64K CREF'
//STEPLIB  DD DISP=SHR,DSN=&LANGXLIB
//         DD DISP=SHR,DSN=&LEHLQ..SCEERUN
//LISTING  DD DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM),DISP=SHR
//IDILANGX DD DISP=SHR,DSN=&SYSUID..ADLAB.EQALANGX(&MEM)
//*
//* *********************************
//* LINK-EDIT (BINDER) STEP
//* *********************************
//LINK EXEC PGM=IEWL,PARM=(LET,MAP,LIST),REGION=0M
//SYSLIB DD DSN=&LEHLQ..SCEELKED,DISP=SHR
//DTLIB DD DSN=&DTLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLMOD DD DISP=SHR,DSN=&SYSUID..ADLAB.LOAD(&MEM)
//SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10))
//SYSLIN DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=(OLD,PASS)
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT)
//*  IS OPTIONAL.  THE EXIT ENABLES STARTING DEBUG TOOL WITH THE
//*  USER EXIT DATA SET UTILITY (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)

Enterprise PL/I バージョン 3.4 以前のプログラム

次の表は、Enterprise PL/I バージョン 3.4 以前のプログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 26. Enterprise PL/I バージョン 3.4 以前で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
ソースを展開するためのプリプロセス (第 1 ステージ)、コンパイル時 (第 2 ステージ): TEST(ALL), NOPT, AGGREGATE, ATTRIBUTES (FULL), NOBLKOFF, LIST, MAP, NEST, NONUMBER, OFFSET, OPTIONS, SOURCE, STMT, XREF(FULL)) Debug Tool for z/OS によって使用される展開済みソース・ファイル、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS によって使用される LANGX ファイル いいえ テスト用に推奨。 (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。)
AGGREGATE, ATTRIBUTES (FULL), NOBLKOFF, LIST, MAP, NEST, NOTEST, NONUMBER, OFFSET, OPTIONS, SOURCE, STMT, XREF(FULL)) コンパイラー・リスト はい なし サポートされる なし
LANGX ファイル はい なし 実動およびテスト用に推奨
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

Enterprise PL/I バージョン 3.4 以前のプログラムの準備

Enterprise PL/I バージョン 3.4 以前のプログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、Enterprise PL/I for z/OS バージョン 3.4 以前のプログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO COMPILE WITH ENTERPRISE PLI V3.4 AND PREVIOUS
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A 2-STAGE COMPILE IS PERFORMED.  STAGE 1 (PREPROCESS) IS
//*       DONE TO EXPAND INCLUDES AND MACROS IN THE PROGRAM, SO THAT
//*       A SOURCE FILE IS CREATED FOR DEBUG TOOL THAT HAS ALL STMTS.
//*    2. COMPILER PARM TEST AND NOPT ARE REQUIRED FOR DEBUG TOOL
//*    3. COMPILER PARMS AGGREGATE,ATTRIBUTES(FULL),NOBLKOFF,LIST,
//*       MAP,NEST,NONUMBER,OPTIONS,SOURCE,STMT,XREF(FULL) ARE NEEDED
//*       TO PROCESS THE COMPILER LISTING WITH XXXLANGX
//*
//*   BINDER (LINKAGE EDITOR):
//*    4. THE INCLUDE FOR MODULE EQAD?CXT IS OPTIONAL.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=PTEST                        PROGRAM NAME
//   SET PLICOMP='IBMZ.V3R4.SIBMZCMP'     PLI COMPILER LOADLIB
//   SET DTLIB='EQAW.SEQAMOD'             DEBUG TOOL LOADLIB
//   SET LEHLQ='CEE'                      LE HIGH LVL QUALIFIER
//   SET UNITDEV=SYSALLDA                 UNIT FOR TEMP FILES
//   SET LANGX='EQALANGX'                 XXXLANGX UTILITY PROGRAM
//   SET LANGXLIB='EQAW.SEQAMOD'          LIBRARY FOR XXXLANGX UTILITY
//*    NOTE: YOU CAN USE THE XXXLANGX UTILITY SHIPPED WITH DT, FA,
//*          OR APA. THEY NAMES ARE DIFFERENT, BUT RESULTS ARE THE SAME
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE:     SET LANGX TO:    SET LANGXLIB TO:
//*      DEBUG TOOL       EQALANGX         THE DT SEQAMOD LIBRARY
//*      FAULT ANALYZER   IDILANGX         THE FA SIDIMOD1 LIBRARY
//*      APA              CAZLANGX         THE APA SCAZAUTH LIBRARY
//*
//ALLOCOBJ EXEC PGM=IEFBR14              ALLOC OBJ LIB IF NEEDED
//XSOURCE DD DSN=&SYSUID..ADLAB.EXPANDED.SOURCE,SPACE=(CYL,(3,1,15)),
//  DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=8000,DISP=(MOD,CATLG)
//OBJ   DD DSN=&SYSUID..ADLAB.OBJ,SPACE=(CYL,(3,1,15)),
//  DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=8000,DISP=(MOD,CATLG)
//*  ***************************************
//*     PREPROCESS STEP (COMPILE STAGE 1)
//*  ***************************************
//PRECOMP  EXEC PGM=IBMZPLI,REGION=0M,
//   PARM=('MACRO,MDECK,NOCOMPILE,NOSYNTAX,INSOURCE')
//STEPLIB  DD   DSN=&PLICOMP,DISP=SHR
//         DD   DSN=&LEHLQ..SCEERUN,DISP=SHR
//SYSIN    DD   DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD   DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD   SYSOUT=*
//SYSUT1   DD   SPACE=(1024,(200,50),,CONTIG,ROUND),DCB=BLKSIZE=1024,
//             UNIT=&UNITDEV
//SYSPUNCH DD DISP=SHR,DSN=&SYSUID..ADLAB.EXPANDED.SOURCE(&MEM)
//*
//*  ***************************************
//*     COMPILE STEP (COMPILE STAGE 2)
//*  ***************************************
//COMPILE  EXEC PGM=IBMZPLI,REGION=0M,
// PARM=('TEST(ALL),LIST,MAP,SOURCE,XREF(FULL),',
//       'NOBLKOFF,AGGREGATE, ATTRIBUTES(FULL),NEST,OPTIONS,NOPT,',
//       'STMT,NONUMBER,OFFSET')
//STEPLIB  DD DSN=&PLICOMP,DISP=SHR
//         DD DSN=&LEHLQ..SCEERUN,DISP=SHR
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.EXPANDED.SOURCE(&MEM)
//SYSLIB   DD DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD DISP=SHR,DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM)
//SYSUT1   DD SPACE=(CYL,(5,2),,CONTIG),DCB=BLKSIZE=1024,UNIT=&UNITDEV
//SYSLIN   DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=SHR
//*
//PLIPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*
//*  *********************************
//*     STEP TO GENERATE LANGX FILE
//*  *********************************
//LANGX    EXEC PGM=&LANGX,REGION=32M,
//  PARM='(PLI ERROR 64K CREF'
//STEPLIB  DD DISP=SHR,DSN=&LANGXLIB
//         DD DISP=SHR,DSN=&LEHLQ..SCEERUN
//LISTING  DD DSN=&SYSUID..ADLAB.ENTPLI.LISTING(&MEM),DISP=SHR
//IDILANGX DD DISP=SHR,DSN=&SYSUID..ADLAB.EQALANGX(&MEM)
//*
//* *********************************
//* LINK-EDIT (BINDER) STEP
//* *********************************
//LINK EXEC PGM=IEWL,PARM=(LET,MAP,LIST),REGION=0M
//SYSLIB DD DSN=&LEHLQ..SCEELKED,DISP=SHR
//DTLIB DD DSN=&DTLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLMOD DD DISP=SHR,DSN=&SYSUID..ADLAB.LOAD(&MEM)
//SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10))
//SYSLIN DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=(OLD,PASS)
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT)
//*  IS OPTIONAL.  THE EXIT ENABLES STARTING DEBUG TOOL WITH THE
//*  USER EXIT DATA SET UTILITY (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)

PL/I for MVS and VM プログラムと OS PL/I プログラム

次の表は、Enterprise COBOL for z/OS バージョン 4 プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

テスト環境では、リストと LANGX ファイル (Fault Analyzer for z/OS および Application Performance Analyzer for z/OS 用) の両方が必要です。 実動では、LANGX ファイルのみが推奨されます。

表 27. PLI for MVS and VM、ならびに OS PLI で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
TEST(ALL), AGGREGATE, ATTRIBUTES (FULL), ESD, LIST, MAP, NEST, NOPT, OPTIONS, SOURCE, STMT, XREF(FULL) コンパイラー・リスト いいえ テスト用に推奨。 (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。) サポートされる サポートされる
LANGX ファイル いいえ なし サポートされる なし
NOTEST, AGGREGATE, ATTRIBUTES (FULL), ESD, LIST, MAP, NEST, OPTIONS, SOURCE, STMT, XREF(FULL) コンパイラー・リスト はい なし サポートされる 実動およびテスト用に推奨
LANGX ファイル はい なし 実動およびテスト用に推奨 なし
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

PL/I for MVS and VM プログラムと OS PL/I プログラムの準備

PL/I for MVS and VM プログラムと OS PL/I プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、PL/I for MVS and VM プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE A PLI FOR MVS AND VM PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. COMPILER PARM TEST IS REQUIRED FOR DEBUG TOOL
//*    2. COMPILER PARMS AGGREGATE,ATTRIBUTES(FULL),ESD,LIST,
//*       MAP,NEST,OPTIONS,SOURCE,STMT,XREF(FULL) ARE NEEDED
//*       FOR PD TOOLS TO PROCESS THE COMPILER LISTING
//*
//*   BINDER (LINKAGE EDITOR):
//*    3. THE INCLUDE FOR MODULE EQAD?CXT IS OPTIONAL.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, LOAD THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=PADSTAT                      PROGRAM NAME
//   SET PLICOMP='IEL.V1R1M1.SIELCOMP'    PLI COMPILER LOADLIB
//   SET DTLIB='EQAW.SEQAMOD'             DEBUG TOOL LOADLIB
//   SET LEHLQ='CEE'                      LE HIGH LVL QUALIFIER
//   SET UNITDEV=SYSALLDA                 UNIT FOR TEMP FILES
//   SET LANGX='EQALANGX'                 XXXLANGX UTILITY PROGRAM
//   SET LANGXLIB='EQAW.SEQAMOD'          LIBRARY FOR XXXLANGX UTILITY
//*    NOTE: YOU CAN USE THE XXXLANGX UTILITY SHIPPED WITH DT, FA,
//*          OR APA. THE NAMES ARE DIFFERENT, BUT RESULTS ARE THE SAME
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE:     SET LANGX TO:    SET LANGXLIB TO:
//*      DEBUG TOOL       EQALANGX         THE DT SEQAMOD LIBRARY
//*      FAULT ANALYZER   IDILANGX         THE FA SIDIMOD1 LIBRARY
//*      APA              CAZLANGX         THE APA SCAZAUTH LIBRARY
//*
//ALLOCOBJ EXEC PGM=IEFBR14              ALLOC OBJ LIB IF NEEDED
//OBJ   DD DSN=&SYSUID..ADLAB.OBJ,SPACE=(CYL,(3,1,15)),
//  DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=8000,DISP=(MOD,CATLG)
//*
//*  ***************************************
//*     COMPILE STEP
//*  ***************************************
//*
//COMPILE  EXEC PGM=IEL1AA,REGION=6M,
// PARM=('TEST(ALL),NOPT,AGGREGATE,ATTRIBUTES(FULL),ESD,LIST,MAP,',
//       'NEST,OPTIONS,SOURCE,STMT,XREF(FULL)')
//STEPLIB  DD   DSN=&PLICOMP,DISP=SHR
//SYSIN    DD   DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSLIB   DD   DISP=SHR,DSN=&SYSUID..ADLAB.COPYLIB
//SYSPRINT DD   DISP=SHR,DSN=&SYSUID..ADLAB.PLIMVS.LISTING(&MEM)
//SYSUT1   DD   SPACE=(CYL,(1,1)),UNIT=SYSDA
//SYSLIN   DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=SHR
//*
//PLIPRINT  EXEC PGM=IEBGENER,REGION=0M
//SYSPRINT  DD SYSOUT=*
//SYSUT1    DD DSN=&SYSUID..ADLAB.PLIMVS.LISTING(&MEM),DISP=SHR
//SYSUT2    DD SYSOUT=*
//SYSIN     DD DUMMY
//*
//*  *********************************
//*     STEP TO GENERATE LANGX FILE
//*  *********************************
//LANGX    EXEC PGM=&LANGX,REGION=32M,
//  PARM='(PLI ERROR 64K CREF'
//STEPLIB  DD DISP=SHR,DSN=&LANGXLIB
//         DD DISP=SHR,DSN=&LEHLQ..SCEERUN
//LISTING  DD DSN=&SYSUID..ADLAB.PLIMVS.LISTING(&MEM),DISP=SHR
//IDILANGX DD DISP=SHR,DSN=&SYSUID..ADLAB.EQALANGX(&MEM)
//*
//* *********************************
//* LINK-EDIT (BINDER) STEP
//* *********************************
//LINK EXEC PGM=IEWL,PARM=(LET,MAP,LIST),REGION=0M
//SYSLIB DD DSN=&LEHLQ..SCEELKED,DISP=SHR
//DTLIB DD DSN=&DTLIB,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLMOD DD DISP=SHR,DSN=&SYSUID..ADLAB.LOAD(&MEM)
//SYSUT1 DD UNIT=SYSDA,SPACE=(TRK,(10,10))
//SYSLIN DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=(OLD,PASS)
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT)
//*  IS OPTIONAL.  THE EXIT ENABLES STARTING DEBUG TOOL WITH THE
//*  USER EXIT DATA SET UTILITY (ONE OF THE DEBUG TOOL ISPF UTILITIES)
//*  //        DD *
//*   INCLUDE DTLIB(EQADBCXT)

z/OS XL C および C++ プログラム

次の表は、z/OS XL C および C++ プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなコンパイラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 28. C++ で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 生成される出力 ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
ソースを展開するためのプリプロセス (第 1 ステージ)、コンパイル時 (第 2 ステージ): TEST, AGGREGATE, ATTRIBUTES (FULL), ESD, LIST, MAP, NEST, OPTIONS, SOURCE, STMT, XREF(FULL), NOOFFSET, NOOPT, NOIPA Debug Tool for z/OS によって使用される展開済みソース・ファイル、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS によって使用されるコンパイラー・リスト いいえ テスト用に推奨。 (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。) サポートされる サポートされる
Debug Tool for z/OS によって使用される展開済みソース・ファイル、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS によって使用される LANGX ファイル いいえ サポートされる サポートされる サポートされる
NOTEST, AGGREGATE, ATTRIBUTES (FULL), ESD, LIST, MAP, NEST, OPTIONS, SOURCE, STMT, XREF(FULL), NOOFFSET, NOIPA コンパイラー・リスト はい なし 実動およびテスト用に推奨 実動およびテスト用に推奨
LANGX ファイル はい なし サポートされる サポートされる
ソースを展開するためのプリプロセス (第 1 ステージ)。 コンパイル時 (第 2 ステージ): DEBUG(FORMAT (DWARF), HOOK(LINE, NOBLOCK, PATH), SYMBOL, FILE(location)) 展開済みソース・ファイルおよび DWARF ファイル いいえ サポートされる (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。) なし なし
注:
  1. 上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。
  2. FORMAT(DWARF) オプションは、z/OS バージョン 1.6 以上でサポートされます。
表 29. C で IBM 問題判別ツール製品によってサポートされるコンパイラー・オプションとソース情報ファイルの例
コンパイラー・オプション 生成される出力 ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
ソースを展開するためのプリプロセス (第 1 ステージ)、コンパイル時 (第 2 ステージ): TEST(ALL), AGGREGATE, ATTRIBUTES (FULL), ESD, LIST, MAP, NEST, OPTIONS, SOURCE, STMT, XREF(FULL), NOOFFSET, NOOPT, NOIPA Debug Tool for z/OS によって使用される展開済みソース・ファイル、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS によって使用されるコンパイラー・リスト いいえ テスト用に推奨。 (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。) サポートされる サポートされる
Debug Tool for z/OS によって使用される展開済みソース・ファイル、Fault Analyzer for z/OS および Application Performance Analyzer for z/OS によって使用される LANGX ファイル いいえ サポートされる サポートされる サポートされる
NOTEST, AGGREGATE, ATTRIBUTES (FULL), ESD, LIST, MAP, NEST, OPTIONS, SOURCE, STMT, XREF(FULL), NOOFFSET, NOIPA コンパイラー・リスト はい なし 実動およびテスト用に推奨 実動およびテスト用に推奨
LANGX ファイル はい なし サポートされる サポートされる
ソースを展開するためのプリプロセス (第 1 ステージ)。 コンパイル時 (第 2 ステージ): DEBUG(FORMAT (DWARF), HOOK(LINE, NOBLOCK, PATH), SYMBOL, FILE(location)) 展開済みソース・ファイルおよび DWARF ファイル いいえ サポートされる (実動でこのコンパイラーに Debug Tool を使用することは推奨されません。) なし なし
注:
  1. 上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。
  2. FORMAT(DWARF) オプションは、z/OS バージョン 1.6 以上でサポートされます。

z/OS XL C および C++ プログラムの準備

z/OS XL C および C++ プログラムをコンパイルするには、以下のステップを実行します。

サンプル JCL

以下は、z/OS C/C++ プログラムを IBM 問題判別ツール製品で使用できるようにコンパイルするための JCL の例です。

//* ADD A JOB CARD HERE
//*
//*
//*  SAMPLE JCL TO PREPARE A Z/OS C PROGRAM PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   COMPILER:
//*    1. A 2-STAGE COMPILE IS PERFORMED.  STAGE 1 (PREPROCESS) IS
//*       DONE TO EXPAND INCLUDES AND MACROS IN THE PROGRAM AND TO
//*       PRODUCE AN EXPANDED SOURCE FILE.
//*    2. THE EXPANDED SOURCE FILE IS RETAINED.  IT IS USED BY
//*       DEBUG TOOL.
//*    2. COMPILER PARMS TEST AND NOOPT ARE REQUIRED FOR DEBUG TOOL.
//*    3. COMPILER PARMS AGGREGATE, NOIPA, LIST, NOOFFSET, SOURCE,
//*       STMT, AND XREF(FULL) ARE NEEDED TO FORMAT THE COMPILER LISTING
//*       SO THAT IT CAN BE PROCESSED WITH XXXLANGX
//*
//*   A STEP RUNS TO PRODUCE A LANGX FILE FOR FAULT ANALAYZER AND APA.
//*    NOTE: YOU CAN USE THE XXXLANGX UTILITY SHIPPED WITH DT, FA,
//*          OR APA. THE NAMES ARE DIFFERENT, BUT THE RESULTS ARE THE SAME.
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE:     THEN EXECUTE MODULE:
//*      DEBUG TOOL       EQALANGX, AND ENSURE THAT THE DT SEQAMOD LIBRARY
//*                         IS AVAILABLE (VIA STEPLIB, JOBLIB, OR LINKLIST)
//*      FAULT ANALYZER   IDILANGX, AND ENSURE THAT THE FA SIDIMOD1 LIBRARY
//*                         IS AVAILABLE (VIA STEPLIB, JOBLIB, OR LINKLIST)
//*      APA              CAZLANGX, AND ENSURE THAT THE APA SCAZAUTH LIBRARY
//*                         IS AVAILABLE (VIA STEPLIB, JOBLIB, OR LINKLIST)
//*
//*   BINDER (LINKAGE EDITOR):
//*    1. AN INCLUDE FOR MODULE EQAD?CXT IS OPTIONAL.  IT IS AN
//*       LE EXIT MODULE THAT CAN BE USED TO START DEBUG TOOL.
//*       UNDERSTAND THE METHODS AVAILABLE FOR STARTING DEBUG TOOL,
//*       AND CHOOSE WHETHER YOU WANT TO USE THE LE EXITS.
//*         IF YOU USE THIS METHOD, INCLUDE THE CORRECT EXIT MODULE:
//*            EQADBCXT: FOR BATCH PROGRAMS
//*            EQADICXT: FOR ONLINE IMS PROGRAMS
//*            EQADDCXT: FOR DB2 STORED PROCEDURES
//*            (DO NOT INCLUDE AN EXIT FOR CICS PROGRAMS)
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//*       CPRFX: THE PREFIX THE C/C++ COMPILE IS INSTALLED UNDER
//*       LEPRFX: THE PREFIX FOR THE LE RUNTIME AND LINK LIBS
//*       DTPRFX: THE PREFIX OF THE DEBUG TOOL SEQAMOD LIBRARY
//*
//    SET CPRFX=CBC
//    SET LEPRFX=CEE
//    SET DTPRFX=EQAW
//*
//*******************************************************************/
//* CREATE C/C++ COMPILER LISTING SYSPRINT, EXPANDED SOURCE DEBUG,  */
//* AND EQALANGX FILES                                              */
//*******************************************************************/
//ALLOC EXEC PGM=IEFBR14
//LISTING DD DSN=&SYSUID..ADLAB.CLST,
//           DISP=(MOD,CATLG),
//           DCB=(DSORG=PO,RECFM=VBA,LRECL=137,BLKSIZE=0),
//           SPACE=(TRK,(20,20,50)),UNIT=SYSDA
//DBGSRC  DD DSN=&SYSUID..ADLAB.CDBG,
//           DISP=(MOD,CATLG),
//           DCB=(DSORG=PO,RECFM=FB,LRECL=80,BLKSIZE=0),
//           SPACE=(TRK,(20,20,50)),UNIT=SYSDA
//LANGX   DD DSN=&SYSUID..ADLAB.EQALANGX,
//           DISP=(MOD,CATLG),
//           DCB=(DSORG=PO,RECFM=VB,LRECL=1562,BLKSIZE=0),
//           SPACE=(TRK,(40,40,50)),UNIT=SYSDA
//*                                                                 *
//****************************************************************
//*-------------------------------------------------------------------
//*  COMPILE STEP1: GENERATE EXPANDED C/C++ SOURCE FILE IN THE DD
//*                 SYSUT10
//*-------------------------------------------------------------------
//COMP1   EXEC PGM=CCNDRVR,REGION=0M,
// PARM=('PP(COMMENTS,NOLINES)')
//STEPLIB  DD  DSNAME=&LEPRFX..SCEERUN2,DISP=SHR
//         DD  DSNAME=&CPRFX..SCCNCMP,DISP=SHR
//SYSMSGS  DD  DUMMY,DSN=&CPRFX..SCBC3MSG(EDCMSGE),DISP=SHR
//SYSLIB   DD  DSNAME=&LEPRFX..SCEEH.H,DISP=SHR
//         DD  DSNAME=&LEPRFX..SCEEH.SYS.H,DISP=SHR
//         DD  DSNAME=&SYSUID..ADLAB.COPYLIB,DISP=SHR
//SYSPRINT DD  SYSOUT=*
//SYSOUT   DD  SYSOUT=*
//SYSCPRT  DD  SYSOUT=*
//SYSUT1   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSUT5   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT6   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT7   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT8   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT9   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
//SYSUT10  DD  DISP=SHR,DSN=&SYSUID..ADLAB.CDBG(TMC01A)
//SYSUT14  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT16  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT17  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSLIN   DD  DUMMY
//SYSIN    DD  DSNAME=&SYSUID..ADLAB.SOURCE(TMC01A),DISP=SHR
//*
//*-------------------------------------------------------------------
//*  COMPILE STEP2: COMPILE THE EXPANDED SOURCE FILE WITH THE DEBUG
//*                 COMPILER OPTION TEST(ALL)
//*-------------------------------------------------------------------
//COMP2   EXEC PGM=CCNDRVR,REGION=0M,
//  PARM=('TEST(ALL),AGGREGATE,ATTRIBUTES(FULL),ESD,LIST,MAP,',
//  'NEST,OPTIONS,SOURCE,STMT,XREF(FULL),NOOFFSET,NOOPT,NOIPA')
//STEPLIB  DD  DSNAME=&LEPRFX..SCEERUN2,DISP=SHR
//         DD  DSNAME=&CPRFX..SCCNCMP,DISP=SHR
//         DD  DSNAME=&LEPRFX..SCEERUN,DISP=SHR
//SYSMSGS  DD  DUMMY,DSN=&CPRFX..SCBC3MSG(EDCMSGE),DISP=SHR
//SYSLIB   DD  DSNAME=&LEPRFX..SCEEH.H,DISP=SHR
//         DD  DSNAME=&LEPRFX..SCEEH.SYS.H,DISP=SHR
//SYSCPRT  DD  DISP=SHR,DSN=&SYSUID..ADLAB.CLST(TMC01A)
//SYSOUT   DD  SYSOUT=*
//SYSPRINT DD  SYSOUT=*
//SYSUT1   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=80,BLKSIZE=3200)
//SYSUT5   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT6   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT7   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT8   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT9   DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//   DCB=(RECFM=VB,LRECL=137,BLKSIZE=882)
//SYSUT10  DD  SYSOUT=*
//SYSUT14  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT16  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSUT17  DD  UNIT=SYSDA,SPACE=(32000,(30,30)),
//             DCB=(RECFM=FB,LRECL=3200,BLKSIZE=12800)
//SYSLIN   DD DSN=&&TEMOBJ1(TMC01A),DISP=(,PASS),UNIT=SYSDA,
// SPACE=(TRK,(20,20,20)),DCB=(RECFM=FB,BLKSIZE=3120,LRECL=80,DSORG=PO)
//SYSIN    DD  DSNAME=&SYSUID..ADLAB.CDBG(TMC01A),DISP=SHR
//*
//*-------------------------------------------------------------------
//* LINK STEP: LINK THE COMPILED OBJECT DECK
//*-------------------------------------------------------------------
//LKED EXEC PGM=IEWL,PARM=(LET,MAP,LIST)
//SYSLIB DD DSN=&LEPRFX..SCEELKED,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLMOD DD DISP=SHR,DSN=&SYSUID..ADLAB.LOAD
//SYSUT1 DD SPACE=(TRK,(10,10)),UNIT=SYSDA
//OBJECT DD DISP=(OLD,PASS),DSN=&&TEMOBJ1
//* DTLIB DD DSN=&DTPRFX..SEQAMOD,DISP=SHR
//SYSLIN DD *
INCLUDE OBJECT(TMC01A)
ENTRY CEESTART
NAME TMC01(R)
/*
//*  INCLUDING A DEBUG TOOL LE EXIT (EQADBCXT, EQADDCXT, OR EQADICXT)
//*  IS OPTIONAL.  THE EXIT ENABLES STARTING DEBUG TOOL WITH THE
//*  USER EXIT DATA SET UTILITY (ONE OF THE DEBUG TOOL ISPF UTILITIES).
//*  AN INCLUDE CAN BE ADDED TO SYSLIN IN THE APPRORIATE SEQUENCE:
//*   INCLUDE DTLIB(EQADBCXT)
//**************************************************************
//* GENERATE THE TMC01A EQALANGX FILE
//**************************************************************
//LANGX1   EXEC PGM=EQALANGX,REGION=32M,
//  PARM='(C ERROR'
//STEPLIB  DD DISP=SHR,DSN=&DTPRFX..SEQAMOD
           DD DISP=SHR,DSN=&LEPRFX..SCEERUN
//LISTING  DD DSN=&SYSUID..ADLAB.CLST(TMC01A),DISP=SHR
//IDILANGX DD DSN=&SYSUID..ADLAB.EQALANGX(TMC01AX),DISP=(OLD)

アセンブラー・プログラム

次の表は、プログラムを IBM 問題判別ツール製品 (Debug Tool for z/OS、Fault Analyzer for z/OS、および Application Performance Analyzer for z/OS) で使用するための準備に使用できる、さまざまなアセンブラー・オプションを示しています。以下の表で推奨されるメソッドは、作成されたロード・モジュールが実稼働環境に適しているかどうかを示します。実稼働環境に適したロード・モジュールには、著しく大きなランタイムのオーバーヘッドがありません。

表 30. アセンブラーで IBM 問題判別ツール製品によってサポートされるアセンブラー・オプションとソース情報ファイルの例
アセンブラー・オプション 作成されたソース情報のファイル・タイプ ロード・モジュールが実動用に準備できているかどうか。 Debug Tool for z/OS でサポートおよび推奨されるオプション Fault Analyzer for z/OS でサポートおよび推奨されるオプション Application Performance Analyzer for z/OS でサポートおよび推奨されるオプション
ADATA SYSADATA ファイル はい なし サポートされる サポートされる
ADATA LANGX ファイル はい 実動およびテスト用に推奨
注:
上の表でハイライトされている行は、各製品に推奨されるコンパイラー・オプションおよびソース情報ファイル・タイプを示します。

アセンブラー・プログラムの準備

プログラムをアセンブルするには、以下のステップを実行します。

サンプル JCL

以下は、プログラムを IBM 問題判別ツール製品で使用できるようにアセンブルするための JCL の例です。

//*     - - -  ADD A JOB CARD ABOVE THIS LINE  - - -
//*
//*  SAMPLE JCL TO PREPARE AN ASSEMBLER PROGRAM
//*  FOR THE IBM ZSERIES PD TOOLS PRODUCTS:
//*     FAULT ANALYZER, DEBUG TOOL, AND APPLICATION PERF. ANALYZER
//*
//*  NOTES:
//*
//*   ASSEMBLER:
//*    1. AN ADATA PARM IS REQUIRED TO PRODUCE A SYSADATA FILE
//*
//*   A STEP THAT PROCESSES THE SYSADATA FILE,
//*   AND CREATES A LANGX FILE IS NEEDED.
//*
//*   BINDER (LINKAGE EDITOR):
//*    1. AMODE / RMODE CAN BE CODED AS NEEDED BY THE PROGRAM.  THEY ARE
//*       NOT REQUIRED FOR PD TOOLS.
//*
//*  SET PARMS FOR THIS COMPILE:
//*  ---------------------------
//   SET MEM=ASAM1                        PROGRAM NAME
//   SET Language EnvironmentHLQ='CEE'    Language Environment HIGH LVL QUALIFIER
//   SET UNITDEV=SYSALLDA                 UNIT FOR TEMP FILES
//   SET LANGX='EQALANGX'                 XXXLANGX UTILITY PROGRAM
//   SET LANGXLIB='EQAW.SEQAMOD'          LIBRARY FOR XXXLANGX UTILITY
//*    NOTE: YOU CAN USE THE XXXLANGX UTILITY SHIPPED WITH DT, FA,
//*          OR APA. THE NAMES ARE DIFFERENT, BUT RESULTS ARE THE SAME
//*          USE ANY OF THEM... THEY ALL PRODUCE THE SAME RESULTS.
//*      IF YOU HAVE:     SET LANGX TO:    SET LANGXLIB TO:
//*      DEBUG TOOL       EQALANGX         THE DT SEQAMOD LIBRARY
//*      FAULT ANALYZER   IDILANGX         THE FA SIDIMOD1 LIBRARY
//*      APA              CAZLANGX         THE APA SCAZAUTH LIBRARY
//*
//*  *********************************
//*      ASSEMBLER STEP
//*  *********************************
//ASM1 EXEC  PGM=ASMA90,COND=(4,LT),REGION=32M,
//      PARM='ADATA,OBJECT'
//SYSIN    DD DISP=SHR,DSN=&SYSUID..ADLAB.SOURCE(&MEM)
//SYSPRINT DD SYSOUT=*
//SYSLIN   DD DISP=SHR,DSN=&SYSUID..ADLAB.OBJ(&MEM)
//SYSADATA DD DISP=SHR,DSN=&SYSUID..ADLAB.SYSADATA(&MEM)
//SYSLIB  DD  DSN=SYS1.MODGEN,DISP=SHR
//        DD  DSN=SYS1.MACLIB,DISP=SHR
//        DD  DSN=&LEHLQ..SCEEMAC,DISP=SHR
//SYSUT1  DD  DISP=(NEW,DELETE),DSN=&&SYSUT1,SPACE=(1700,(900,450)),
//     UNIT=&UNITDEV
//SYSUT2  DD  DISP=(NEW,DELETE),DSN=&&SYSUT2,SPACE=(1700,(600,300)),
//     UNIT=&UNITDEV
//SYSUT3  DD  DISP=(NEW,DELETE),DSN=&&SYSUT3,SPACE=(1700,(600,300)),
//     UNIT=&UNITDEV
//*
//*  *********************************
//*     STEP TO GENERATE LANGX FILE
//*  *********************************
//LANGX    EXEC PGM=&LANGX,REGION=32M,
//  PARM='(ASM ERROR'
//STEPLIB  DD DISP=SHR,DSN=&LANGXLIB
//         DD DISP=SHR,DSN=&LEHLQ..SCEERUN
//SYSADATA DD DSN=&SYSUID..ADLAB.SYSADATA(&MEM),DISP=SHR
//IDILANGX DD DSN=&SYSUID..ADLAB.EQALANGX(&MEM),DISP=SHR
//*
//*  *********************************
//*        LINK-EDIT (BINDER) STEP
//*  *********************************
//LINK     EXEC PGM=IEWL,PARM='MAP',REGION=0M
//SYSLIB   DD DSN=&LEHLQ..SCEELKED,DISP=SHR
//SYSPRINT DD SYSOUT=*
//SYSLMOD  DD DISP=SHR,DSN=&SYSUID..ADLAB.LOAD(&MEM)
//SYSUT1   DD UNIT=SYSDA,SPACE=(TRK,(10,10))
//SYSLIN   DD DSN=&SYSUID..ADLAB.OBJ(&MEM),DISP=SHR
//         DD *
     MODE AMODE(31),RMODE(24)
     ENTRY ASAM1
//*

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

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