目次 前 次 PDF


CICSランタイムでのCOBOLプログラムのデバッグおよびエラー処理

CICSランタイムでのCOBOLプログラムのデバッグおよびエラー処理
この章には次のトピックが含まれます:
CICSランタイムでのCOBOLプログラムのデバッグ
ART for CICSでは、COBOLアプリケーション・プログラムを変更せずに、オンラインでデバッグできます。サポートされているCOBOLコンパイラはMicro Focus COBOLとCOBOL-IT COBOLです。アニメータ・ツールを使用してMicro Focus COBOLプログラムをデバッグしながら、ディート・ツールを使用してCOBOL-IT COBOLプログラムをデバッグできます。どちらのツールを使用する場合でも、ツールは様々な箇所でアプリケーション・プログラムの実行をインターセプトしてから、プログラムに関する情報を表示します。アプリケーション・プログラムが送信した画面はツールによって表示されるため、テスト中に、本番システムの場合と同様にアプリケーション・プログラムと対話できます。
ART for CICSは、Micro Focus COBOLとCOBOL-IT COBOLでのセッション間デバッグをサポートします。セッション間デバッグでは、デバッグ対象のプログラムが実行されている異なるターミナル・ウィンドウからアニメータ・ツールまたはディート・ツールを使用できます。
注意:
Micro Focus COBOLを使用したデバッグ
Micro Focus COBOLを使用してデバッグを行うには、次の手順に従います。
まず、config/resources/kix_cobol_dbg.cfg構成ファイルを作成します。詳細は、「構成」を参照してください。
次に、prepro-cics.plユーティリティを使用してCOBOLプログラムを前処理します。詳細は、「構成」を参照してください。
次に、tmshutdown/tmbootを使用するか、「デバッグ構成ファイルの動的ロード」の手順に従ってアプリケーションを再起動します。
COBOL-IT COBOLを使用したデバッグ
COBOL-IT COBOLを使用してデバッグを行うには、次の手順に従います。ディート・グラフィックUIの詳細は、COBOL-IT COBOLのドキュメントを参照してください。
まず、config/resources/kix_cobol_dbg.cfg構成ファイルを作成します。詳細は、「構成」を参照してください。
次に、prepro-cics.plユーティリティを使用してCOBOLプログラムを前処理します。詳細は、「構成」を参照してください。
次に、tmshutdown/tmbootを使用するか、「デバッグ構成ファイルの動的ロード」の手順に従ってアプリケーションを再起動します。
次に、vncserverを使用してVNC環境を起動します。
VNC xtermで、コマンドdeet -p myAnimSrvID1を使用してデバッグ・セッションを開始します。ディート・グラフィックUIが起動され、COBOLプログラムがアタッチされます。先にトランザクションを開始してから、ディート・ツールでデバッグ・セッションを開始する必要があることに注意してください。
注意:
構成
CICSランタイムでCOBOLプログラムをデバッグする前に次の構成を行います。
kix_cobol_dbg.cfg構成ファイルを構成します。
詳細は、「デバッグ構成ファイル」を参照してください。
prepro-cics.plユーティリティを使用してCOBOLプログラムを前処理します。
prepro-cics.pl -type_output=orig < RSSBT000.cbl > RSSBT000.cob
注意:
COBOLソース・コード・ディレクトリ下のすべての.gntファイルを削除することをお薦めします。
ART for CICSサーバーを起動するLinuxユーザー・アカウントは、anim (Micro Focus COBOLプログラムの場合) / deet (COBOL-IT COBOLプログラムの場合)コマンドラインを実行するLinuxユーザー・アカウントと同じである必要があります。anim / deetユーティリティで指定されているANIMSRVIDのみがデバッグされます。
デバッグ構成ファイルの動的ロード
ART for CICSを再起動せずにデバッグ構成リソース・ファイルkix_cobol_dbg.cfgを動的にロードできます。
この構成ファイルを動的にロードするには、次の手順を実行します。
1.
artadminユーティリティを起動します。
詳細は、「artadmin (1)」を参照してください。
2.
config_update (cu)と入力します。
config_update (cu)で構成の変更を伝播し、アプリケーション・サーバーに対して構成の変更内容を受け入れるようリクエストします。
3.
perform (p)と入力します。
perform (p)でサーバーに送信されたコマンドを実行し、コマンド・バッファを消去します。
バッファが空ではない場合、バッファ・コンテナが表示され、確認が必要になります。
送信が失敗すると、「実行が取り消されました。」が表示され、エラーがUSERLOGに記録されます。
4.
quit (q)と入力します。
quit (q)と入力し、このセッションを終了します。
関連項目
CICSランタイムでのエラー処理
CICS Runtimeでは、CICS動詞の例外を検出し、関連するエラー・メッセージおよびABENDコードを出力します。それ以外に、ART for CICSでエラー・プロシージャがインストールされ、COBOL LE (言語環境)エラーが発生すると実行されます。このエラー・プロシージャでは、ART for CICSが詳細なエラー行およびCOBOLプログラムが異常終了した理由をレポートし、CICSランタイムがCICS ABENDコードASRAでCOBOLプログラムを中断してCICSランタイム・サーバーが停止しないようにします。
例外によりCICS Runtimeが不安定になる状況を回避するために、1つのサーバーが許容できる最大例外数を制御するKIX_MAX_FATAL_NUMが導入されています。例外数がKIX_MAX_FATAL_NUMを超えると、CICSランタイム・サーバーはSIGTERMを送信して、それ自体を終了します。CICSランタイム・サーバーは、自動的に再起動するようRESTART=Yとして構成できます。詳細は、「KIX_MAX_FATAL_NUM」を参照してください。
前提条件
どのCOBOLコンパイラ(Micro Focus COBOLまたはCOBOL-IT)を使用しても、CICSランタイムでエラー・プロシージャがデフォルトでインストールされます。
ART for CICSでは、COBOL LE (言語環境)エラー・プロシージャを有効または無効にする環境変数KIX_CBL_TRAP_ERRORが提供されます。デフォルト値はYで、エラー・プロシージャが有効であることを意味します。KIX_CBL_TRAP_ERROR=Nを指定した場合、COBOL LE (言語環境)エラー・プロシージャは無効になり、例外が検出されると、CICSランタイム・サーバーが停止しないように、CICS Runtimeが制御を引き継ぎます。CICS Runtimeは、環境変数KIX_DUMP_TYPEが制御する、検出された例外に関する関連情報も生成します。
特に、CICS RuntimeがCOBOL-ITで実行されている場合、-debugコンパイラ・フラグを使用してCOBOLプログラムをコンパイルし、エラー・プロシージャの機能を有効にする必要もあります。
詳細は、「KIX_CBL_TRAP_ERROR」および「KIX_DUMP_TYPE」を参照してください。
メモリー・ダンプ
CICSランタイムがCOBOL-ITで実行される場合、COBOL LEエラーが発生するとART for CICSはエラー・プロシージャ機能だけでなく、プログラムの最終的なメモリー情報も提供します。
環境変数KIX_DUMP_FILEを有効なローカル・ファイル名で指定すると、このメモリー・ダンプ機能を有効にできます。COBOL LEエラーが発生すると、ART for CICSはまずエラー・プロシージャをアクティブにし、プログラムの最終的なメモリー情報をKIX_DUMP_FILEで指定したダンプ・ファイルに出力します。
メモリー・ダンプ機能は、CICS動詞エラーが発生した場合も機能します。
詳細は、「KIX_SO_SUBSYS_WRAPPER」を参照してください。

Copyright ©1994, 2017,Oracle and/or its affiliates. All rights reserved