COBOL2002 ユーザーズガイド


付録L.1 資料採取の準備

資料を採取するには,COBOLプログラム開発の開始からシステム運用の開始までの各作業工程のコンパイル前や,実行前に準備が必要です。COBOLプログラム開発の開始からシステム運用の開始までの作業の流れを次の図に示します。

図L‒1 COBOLプログラム開発の開始からシステム運用の開始までの作業の流れ

[図データ]

〈この項の構成〉

(1) 開発環境のマシンでの準備

(a) 開発中のプログラムのコンパイル前の準備

テスト用に,開発中のCOBOLプログラムをコンパイル・リンケージする前に,コンパイル時に指定するコンパイラオプションを確認してください。コンパイラオプションについては,「33.5 コンパイラオプション」を参照してください。

  • コンパイラオプションに-SrcListオプションを指定することで,コンパイルリストを出力できます。データ部のデータ項目の相対位置,および登録集原文を含んだコンパイルリストを出力するために,-SrcList,CopyAll,DataLocオプションを指定することをお勧めします。

  • コンパイラオプションに,次のどれかのデバッグオプションを指定することで,COBOLプログラムが異常終了したときに異常終了時要約情報リストやデータ領域ダンプリストを出力できます。

    -DebugInf,-DebugInf,Trace,-DebugCompati,-DebugData,-TDInf,-CVInf,-DebugRange

    開発中は,-DebugDataオプションや,-DebugRangeオプションを指定することをお勧めします。なお,テストデバッグ機能を使用する場合は-TDInfオプション,カバレージ機能を使用する場合は-CVInfオプションをコンパイラオプションに指定してください。

  • メイクファイルやコンパイルリストは障害調査に有効な資料なので,開発後も保管してください。

(b) 開発中のプログラムの実行前の準備

コンパイル・リンケージで作成したCOBOLプログラムをテスト・デバッグする前に,実行時環境変数の設定を確認してください。実行時環境変数については,「36.2 プログラムの実行環境の設定」を参照してください。

  • 実行時エラーメッセージは,環境変数CBL_SYSERRに出力先ファイルを指定して,ファイルに出力することをお勧めします。

    環境変数CBL_SYSERRの指定がない場合,実行時エラーメッセージは,COBOLプログラムの動作モードがGUIモードのときはCOBOL2002が出力するコンソール画面に,CUIモードのときは標準エラー出力(stderr)に出力されます。

  • 異常終了時要約情報リストは,環境変数CBLABNLSTに出力先ファイルを指定して,ファイルに出力することをお勧めします。

    環境変数CBLABNLSTの指定がない場合,異常終了時要約情報リストは,COBOLプログラムの動作モードがGUIモードのときはCOBOL2002が出力するコンソール画面に,CUIモードのときは標準エラー出力(stderr)に出力されます。

  • データ領域ダンプリストは,環境変数CBLDDUMPに出力先ファイルを指定して,ファイルに出力することをお勧めします。

    環境変数CBLDDUMPの指定がない場合,および環境変数に出力先ファイルを指定していない("CBLDDUMP="だけを指定した)場合,データ領域ダンプリストは出力されません。

  • プログラム検索トレースファイルは,環境変数CBLPGMSEARCHTRCに出力先ファイルを指定して,ファイルに出力することをお勧めします。プログラム検索トレースファイルは,動的なリンクによる呼び出しで,呼び出し先が見つからないなど期待する動作にならない場合の調査に有効です。

    環境変数CBLPGMSEARCHTRCの指定がない場合,プログラム検索トレースファイルは出力されません。

  • プロセスダンプは必須ではありませんが,領域破壊などによってプログラムが期待する動作にならない場合の調査に有効なので出力することお勧めします。プロセスダンプは,次の方法で出力できます。

    出力方法

    説明

    Windowsのタスクマネージャを使用する

    この方法は,対話形式で操作できる場合に有効です。終了しないプログラムに対するプロセスダンプも出力できます。

    レジストリにプロセスダンプを出力するための設定を追加する

    この方法は,再現性の低い障害に対して,プロセスダンプを出力したい場合に有効です。事前に設定しておくことで,プログラムがシステム例外によって異常終了した場合にプロセスダンプが出力できます。

    Microsoftなどから提供されるツールを使用する

    ツールの仕様に従います。

    ここでは,レジストリにプロセスダンプを出力するための設定を追加する方法について説明します。レジストリを変更する場合の注意点を次に示します。

    • レジストリに誤った設定をした場合,Windowsシステムに対して重大な問題を引き起こすおそれがあるため,誤った設定をしないように注意してください。

    • レジストリにプロセスダンプを出力するための設定を追加した場合は,すべてのアプリケーションプログラムでの障害時にプロセスダンプが出力されるようになります。

    • プロセスダンプを出力する場合,その分ディスク容量が圧迫されます。プロセスダンプの出力先には,十分なディスク領域が確保されている出力先フォルダを設定してください。

    プロセスダンプを出力する場合の設定手順を次に示します。

    1. レジストリエディタ(regedit.exe)を起動する

    2. 次のレジストリキーを選択する

      HKEY_LOCAL_MACHINE¥SOFTWARE¥Microsoft¥Windows¥Windows Error Reporting¥LocalDumps

    3. 手順2.のレジストリキーに対して,次の値を追加する

      値名が作成済みの場合は,データだけ変更してください。

      値名

      レジストリキーのデータの種類

      値名へ割り当てられるデータ

      DumpCount

      DWORD(32bit)値

      (REG_DWORD)

      プロセスダンプの出力回数を指定する。指定した回数を超えた場合,古いプロセスダンプを削除して出力する。

      DumpFolder

      展開可能な文字列値

      (REG_EXPAND_SZ)

      プロセスダンプの出力先フォルダを絶対パスで指定する。ファイル名は指定できない。

      DumpType

      DWORD(32bit)値

      (REG_DWORD)

      プロセスダンプの種類として「2」を指定する。次の値が指定できる。

      • 0:カスタムダンプ

      • 1:ミニダンプ

      • 2:フルダンプ

    4. Windowsサービスの「Windows Error Reporting Service」が起動されていない場合は,起動する

    5. COBOLプログラム実行時は,環境変数CBLEXCEPTにTHROWを指定する

(c) 実行環境で使用するプログラムのコンパイル前の準備

実行環境で使用するCOBOLプログラムをコンパイル・リンケージする前に,コンパイル時に指定するコンパイラオプションを確認してください。コンパイラオプションについては,「33.5 コンパイラオプション」を参照してください。

  • テスト用に指定していたコンパイラオプションを解除してリコンパイルします。デバッグオプションを指定する場合は,-DebugInfオプションだけ指定することをお勧めします。

    -DebugInfオプション以外のデバッグオプションを指定した場合,実行性能に影響があります。デバッグオプションは,十分に性能評価した上で指定してください。

  • -SrcListオプションは,生成されるオブジェクトに影響しません。コンパイルリストを出力するため,実行環境で使用するCOBOLプログラムをコンパイルする場合も,-SrcListオプションは指定してください。

  • メイクファイルやコンパイルリストは障害調査に有効な資料なので,システム稼働後も保管してください。

(d) 実行環境で使用するプログラムの実行前の準備

コンパイル・リンケージで作成したCOBOLプログラムを実行環境に導入する前に,実行時環境変数の設定を確認してください。実行時環境変数については,「36.2 プログラムの実行環境の設定」を参照してください。

  • プログラム検索トレースファイルの出力は実行性能に影響するため,実行環境では環境変数CBLPGMSEARCHTRCの指定を解除してください。

(2) 実行環境のマシンでの準備

システムの運用を開始する前に,マシン環境を確認してください。