IMS プログラムのデバッグ
このトピックは以下の作業を説明しています。
- IMS™ バッチ・プログラムを対話式にデバッグする別の方法。
- バッチ・モードで IMS バッチ・プログラムをデバッグする際に把握しておく必要のあること。
- 非言語環境プログラム IMS MPP をデバッグするために実行する必要のある特別なステップ。
- Debug Tool Utilities を使用して IMS MPP をテストするための、専用メッセージ領域の作成方法。
TSO フォアグラウンドで BTS を実行することによる IMS バッチ・プログラムの対話式デバッグ
IMS バッチ・プログラムを対話式にデバッグしたい場合、フルスクリーン・モード (VTAM 端末) または リモート・デバッグ モードを使用できます。このトピックでは、以下のステップを実行して、TSO フォアグラウンドで BTS を実行するための 3 つ目のオプションを説明します。
- プログラムを開始するために、./T コマンドに dummy のトランザクション・コードを定義します。
- BTS 入力ストリームに dummy トランザクションを組み込みます。
- TSO フォアグラウンドで BTS を始動します。
BTS が TSO のフォアグラウンドで開始された場合、FSS がデフォルト・オプションであり、BTS を TSO のフォアグラウンドで実行しているときのみ使用可能です。FSS をオフにする方法は、./O コマンドで TSO=NO を指定する方法のみです。TSO フォアグラウンドで実行する場合、すべての呼び出しトレースを TSO 端末に表示するのが、デフォルトになっています。./O あるいは ./T のいずれかのコマンドのパラメーターによってオフにすることができます。
注:
Debug Tool を起動してもソース (C および C++) またはリスト (COBOL および PL/I) が表示されない場合は、
ソースまたはリスト・ファイルの名前が、MVS ライブラリー名と一致しているかどうか、
およびその MVS ライブラリーに対して少なくとも読み取りアクセス権があるかどうかを、確認してください。
Debug Tool は、一時点にトランザクションの 1 つの繰り返しのデバッグにしか
使用できません。プログラムが終了したら、Debug Tool をクローズダウンしない限り、トランザクションの出力を見ることはできません。したがって、入力データ・セットを使用していても、そのデータ・セットの 1 トランザクションしか指定できません。次のトランザクションのデータは、TSO 端末から入力することが必要です。次のトランザクションに対して、自動的に新しいデバッグ・セッションが
開始されます。FSS を使用する場合、BTS セッションを終了するには TSO 端末で /* コマンドを
入力することが必要になります。
バッチ・モードでの IMS バッチ・プログラムのデバッグ
Debug Tool を使用すると、IMS プログラムをバッチ・モードでデバッグできます。デバッグ・コマンドは、事前に定義して Debug Tool コマンド・ファイルか、あるいはコマンド・ストリングに組み入れておくことが必要です。コマンド・ストリングは、TEST ランタイム・オプションで、あるいは CALL CEETEST か __ctest が使用されるときに、パラメーターとして指定できます。バッチ・モードではシステム・リソースの消費が少なくて済みますが、どのデバッグ・コマンドを発行するかは、前もって決めておく必要があります。BTS をバッチ・ジョブとして実行する場合、Debug Tool のバッチ・モードだけが
使用できます。
例えば、BTS で IMS トランザクションに対するテスト入力データの個々のメンバーに、データ・セット userid.CODE.BTSINPUT を割り振ることができます。
非言語環境プログラム の IMS MPP のデバッグ
言語環境プログラムで実行しない IMS メッセージ処理プログラム (MPP) をデバッグするには、以下の手順を行います。
- ご使用のシステムが正しく構成され、新規リージョンで始動することを検証します。
説明は、非言語環境プログラム IMS MPP の構成の検証とリージョンの開始を参照してください。
-
デバッグ・インターフェースを選択します。説明は、非言語環境プログラム IMS MPP のインターフェースの選択と情報の収集を参照してください。
- EQASET トランザクションを実行します。このトランザクションにより、デバッグ方法を選択し、使用可能にしたデバッグ・インターフェースを確認します。非言語環境プログラム IMS MPP の EQASET トランザクションの実行を参照してください。
-
デバッグする必要のあるプログラムに関連付けられた IMS トランザクションを開始します。
プログラムのデバッグ完了後、以下のいずれかを行うことができます。
- 別プログラムのデバッグを継続する。
- デバッグ処理を使用不可にして、他タスク用にそのリージョンの実行を続行する。
- デバッグ処理を使用不可にして、そのリージョンをシャットダウンする。IMS プログラムをデバッグしたい場合は、タスク 2 から 4 までを繰り返します。
非言語環境プログラム IMS MPP の構成の検証とリージョンの開始
言語環境プログラムで稼働しない IMS MPP をデバッグする前に、以下のステップを行ってください。
- お客様のシステム管理者に相談して、言語環境プログラムで実行しない IMS プログラムをデバッグするようにシステムが構成済みであることを確認します。リージョンと EQANISET の開始用 JCL に APPLFE=EQANIAFE パラメーター・ストリングを組み込む方法は、「Debug Tool カスタマイズ・ガイド」を参照してください。
- メッセージ処理プログラム (MPP) がスケジュールされる場合は必ず、EQANIAFE アプリケーションのフロントエンド・ルーチンを実行する IMS メッセージ処理リージョン (MPR) を開始してください。
上記ステップ完了後に、非言語環境プログラム IMS MPP のインターフェースの選択と情報の収集に記載されたデバッグ・インターフェースを選択します。
非言語環境プログラム IMS MPP のインターフェースの選択と情報の収集
以下のデバッグ・インターフェースのいずれかを選択して、指定された情報を収集します。
- Debug Tool の端末インターフェース・マネージャーを指定せずに、フルスクリーン・モード (VTAM 端末)を使用します。ご使用の端末の端末 LU 名を入手します。例えば TRMLU001 などです。端末 LU の VTAM® ネットワーク ID を使用する必要がある場合は、システム・プログラマーからこの情報を入手してください。
- Debug Tool の端末インターフェース・マネージャーを指定して、フルスクリーン・モード (VTAM 端末)を使用します。ユーザー ID を入手します。例えば USERABCD などです。
- リモート・デバッグ・モードを使用します。リモート・デバッガーが listen する IP アドレスとポート番号を入手します。
デバッグ・インターフェースの選択完了後、非言語環境プログラム IMS MPP の EQASET トランザクションの実行に記載されたように EQASET トランザクションを実行します。
非言語環境プログラム IMS MPP の EQASET トランザクションの実行
EQASET トランザクションの実行時は、EQANIAFE アプリケーションのフロントエンド・ルーチンに対してデバッグ用プリファレンスを指示しようとしているか、または既存のプリファレンスに関する情報を要求しようとしています。以下の選択肢のいずれかを行うことができます。
- コマンド EQASET ON を入力して、デバッグを使用可能にします。この時点では、OFF 以外のどのオプション指定で EQASET コマンドを入力しても、デバッグ用プリファレンスを既に指示済みにしておく必要があります。
- コマンド EQASET OFF を入力して、デバッグを使用不可にします。
- Debug Tool の端末インターフェース・マネージャーを使わずにフルスクリーン・モード (VTAM 端末) でデバッグします。これを行うには、コマンド (EQASET MFI=terminal_LU_name) を入力します。
VTAM ネットワーク ID を指定する必要がある場合は、コマンド
EQASET MFI=network_identifier.terminal_LU_name を入力してください。
- Debug Tool の端末インターフェース・マネージャーを使ってフルスクリーン・モード (VTAM 端末) でデバッグします。これを行うには、コマンド (EQASET VTAM=user_ID) を入力します。
- コマンド EQASET TCP=IP_address%port_number を入力して、リモート・デバッグ・モードでデバッグします。
- コマンド EQASET STATUS を入力して、現行デバッグ・プリファレンスを表示します。
EQASET コマンド入力後、そのコマンドを入力したのと同じ端末上で、デバッグ対象のアプリケーション・プログラムに関連付けられたトランザクションを開始します。
EQASET トランザクションの構文
EQASET コマンドの構文は、下図のとおりです。

>>-EQASET--+-MFI=--+------------------------------------------+-+-><
| '-+---------------------+-terminal_LU_name-' |
| '-network_identifier.-' |
+-VTAM=--+---------+---------------------------------+
| '-user_ID-' |
+-TCP=--+----------------------------+---------------+
| '-IP_address--%--port_number-' |
+-VTCP=--+----------------------------+--------------+
| '-IP_address--%--port_number-' |
+-ON-------------------------------------------------+
+-OFF------------------------------------------------+
'-STATUS---------------------------------------------'
EQASET トランザクションを使って、そのトランザクションを実行する各ユーザーごとに独立したデバッグ設定を管理します。各設定はユーザー ID により識別されます。このユーザー ID を使用して EQASET トランザクションを実行する場所となる端末にログオンします。どのユーザー ID の場合も、入力された最後のデバッグ用プリファレンス (MFI、TCP、VTCP、または VTAM) だけが保存されます。
STATUS オプションを使用して、現行のデバッグ用プリファレンスを表示できます。
このデバッグ用プリファレンスを使用して、以下の TEST ランタイム・オプション・ストリングが作成されます。
TEST(ALL,INSPIN,,debuggingPreference:*)
お客様は、他のランタイム・オプションをカスタマイズすることはできません。
- MFI=
- Debug Tool の端末インターフェース・マネージャーを指定せずに、フルスクリーン・モード (VTAM 端末)を使用します。デバッグ・セッションに対して VTAM 端末の LU 名を指定する必要があります。お客様のサイトで VTAM ネットワーク ID を指定する必要がある場合は、VTAM ネットワーク ID の名前を端末 LU 名の前に付けてください。 端末 LU 名を指定しないと、デバッグ処理をオフになります。等号 (=) の後ろにはスペースは許されません。このプリファレンスの意味は、デバッグ処理がオンになることを示します。
- VTAM=
- Debug Tool の端末インターフェース・マネージャーを指定して、フルスクリーン・モード (VTAM 端末)を使用します。ここでは、ユーザー ID を指定する必要があります。このユーザー ID は、デバッグ・セッションに対して指定された VTAM 端末へのログオン時に使用したものです。
ユーザー ID を指定しないと、デバッグ処理をオフになります。等号 (=) の後ろにはスペースは許されません。このプリファレンスの意味は、デバッグ処理がオンになることを示します。
- TCP= または VTCP=
- リモート・デバッグ・モードを使用します。リモート・デバッグ・デーモンを実行しているワークステーションの TCP/IP アドレスとポート番号を指定します。 IP アドレスとポート番号を指定しないと、デバッグ処理はオフになります。等号 (=) の後ろにはスペースは許されません。このプリファレンスの意味は、デバッグ処理がオンになることを示します。TCP/IP アドレスは、次のいずれかの形式で指定できます。
- IPv4
- アドレスをシンボリック・アドレス (例えば、some.name.com) として、または数値アドレス (例えば、9.112.26.333) として指定できます。
- IPv6
- アドレスを数値アドレス (例えば、1080:0:FF::0970:1A21) として指定する必要があります。IPv6 形式を使用する場合は、TCP= オプションを使用する必要があり、VTCP= オプションは使用できません。
- ON
- デバッグ処理をオンにします。この指定が有効なのは、デバッグ用プリファレンス (MFI、TCP、VTCP、または VTAM) が設定済みの場合だけです。
- OFF
- デバッグ処理をオフにします。
- STATUS
- 現行のデバッグ用プリファレンスを表示します。EQASET トランザクションでは、IP アドレスの最初の 25 文字しか表示されません。
Debug Tool Utilities を使用した IMS プログラム用セットアップ・ファイルの作成
IMS バッチ・メッセージ処理プログラム (BMP) 用にセットアップ・ファイルを作成することができます。このセットアップ・ファイルには、カスタム領域の作成方法、および IMS プログラムのロード・モジュールと Debug Tool ロード・モジュールのデータ・セットを
参照する STEPLIB 連結ステートメントの定義方法が記述されます。また、IMS メッセージ処理プログラム (MPP) のテストに使用でき専用メッセージ領域を作るための、セットアップ・ファイルを作成してカスタマイズすることも可能です。クラス X でプライベート・メッセージ領域を作成すると、
トランザクション X により実行される IMS プログラムをテストして、
他の IMS プログラムにより使用される他の領域と干渉するリスクを減らせます。
Debug Tool Utilities を使用して IMS プログラム用セットアップ・ファイルを作成するには、以下のステップを行います。
- Debug Tool Utilities を始動する。Debug Tool Utilities の始動方法が分からない場合は、Debug Tool Utilities の始動を参照してください。
- Debug Tool Utilities パネル (EQA@PRIM) で「Option」の行に 4 を入力して Enter を押す。
- 「Manage IMS Programs」パネル (EQAPRIS) で「Option」の行に 2 を入力して Enter を押す。
- 「専用メッセージ領域の作成 (Create Private Message Regions)」-「セットアップ・ファイル編集 (Edit Setup File)」パネル
(EQAPFORA) で、新規セットアップ・ファイルを作成する
ための情報を入力するか、または既存のセットアップ・ファイルを編集します。
Enter キーを押します。
専用メッセージ領域を作成し、アプリケーションのデバッグ時
のアプリケーション・ライブラリーまたは Debug Tool ライブラリーをカスタマイズして、
他のユーザーのアクティビティーに影響を与えないようにします。
専用メッセージ領域の作成に関する許可および規則については、
システム管理者に相談してください。
IMS プログラムの実行に必要なセットアップ情報を指定した後に、IMS プログラムのテストに使用できるプライベート・メッセージ領域の作成に必要な情報を指定するか、BMP プログラムの実行方法を指定できます。
このセットアップ情報を指定するには、以下のステップを行います。
- 「セットアップ・ファイルの編集 (Edit Setup File)」パネル (EQAPFORI) に、情報を入力して、IMS バッチ・プロセッサーを開始します。「/ を入力してパラメーターを変更する (Enter / to modify parameters)」フィールドにスラッシュ (/) を入力し、Enter を押して、バッチ・プロセッサーのパラメーターを変更します。
- 「IMS プロシージャーのパラメーター (Parameters
for IMS Procedures)」パネル (EQAPRIPM) の「TYPE」フィールドに次のいずれかの値を入力して、実行するアクションを指示します。
- プライベート・メッセージ領域を開始するには、MSG。
- BMP プログラムを実行するには、BMP。
必要に応じてその他のパラメーターを入力します。パラメーターの情報を表示するには、PF1 を押してください。
- 指定内容を入力した後に、PF10 を押して、処理を行うようにジョブを実行依頼できます。
|
このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)