COBOL2002 ユーザーズガイド


33.7.3 初期化漏れチェック機能

ここでは,初期化漏れチェック機能の使用方法について説明します。

〈この項の構成〉

(1) 初期化漏れチェック機能の概要

初期化漏れチェック機能とは,データ項目を参照しているが,値の設定(初期化)がされていない,またはその可能性のあるデータ項目を「初期化漏れ」として検出する機能です。

実行時に検出される初期化漏れが原因の不良は,不良個所の特定のために複数のプログラムにわたった調査が必要になります。このため,不良個所の特定に時間が掛かることがあります。初期化漏れチェック機能を使用すると,コンパイル時に初期化漏れを検出でき,テスト工程前に対策できるため,COBOLプログラムの開発効率を向上できます。

初期化漏れチェック機能で「初期化漏れ」を検出するCOBOLソースの例を次の図に示します。

図33‒4 初期化漏れチェック機能で「初期化漏れ」を検出するCOBOLソースの例

[図データ]

(2) 初期化漏れチェック機能を使用するときに指定するコンパイラオプション

初期化漏れチェック機能を使用する場合は,コンパイル時に次のオプションを同時に指定します。

注※

次の場合,-Compile,CheckOnlyオプションが無効となるため,初期化漏れチェック機能も無効になります。

  • 開発マネージャでビルドを実行した場合

  • 明示的に-Compile,NoLinkオプションを指定した場合

注意事項
  • 初期化漏れチェック機能は,-CBLVALUEオプションおよび環境変数CBLVALUE,ならびに環境変数CBLINITVALUE指定時に設定される初期値を無視します。

  • 初期化漏れチェック機能は,プログラムを実行したときに通る可能性のある経路(制御ブロック)をすべて走査し,手続き文で参照されているデータ項目の初期化漏れをチェックします。ただし,環境変数CBL_UNINITDATA_BREAKOFFの指定が無効な場合に,走査した制御ブロックの数が上限を超えたときは,初期化漏れチェック機能の警告メッセージを出力して,初期化漏れチェック処理を打ち切ります。環境変数CBL_UNINITDATA_BREAKOFFについては,「33.6.3 コンパイラ環境変数の詳細」の「(2) CBL_UNINITDATA_BREAKOFF」を参照してください。

(3) 初期化漏れチェック機能の使用方法

初期化漏れチェック機能を使用するときの作業の流れを次の図に示します。初期化漏れチェック機能を使用する前に,あらかじめSレベル,Uレベルのコンパイルエラーがないことを確認してください。

図33‒5 初期化漏れチェック機能を使用するときの作業の流れ

[図データ]

初期化漏れチェック機能は,次の方法で使用できます。

(a) コンパイルリストから調査する方法

コンパイルリストから初期化漏れを調査する手順を次に示します。

  1. -CheckUninitDataオプション,-Compile,CheckOnlyオプションおよび-SrcListオプションを指定してコンパイルする。

    コンパイルリストに初期化漏れチェックの結果が出力されます。

    注意事項

    開発マネージャのビルドを使用する場合は,-Compile,CheckOnlyオプションが無効となるため,初期化漏れチェック機能も無効となります。開発マネージャで初期化漏れチェックをする場合は,COBOL2002 Developer ProfessionalのCOBOLソース解析の機能を使用してください。

  2. コンパイルリストまたは標準エラー出力に,初期化漏れチェック機能の警告メッセージが出力されていないかを確認する。

  3. 初期化漏れチェック機能の警告メッセージが出力されている場合は,メッセージの内容を確認して,初期化漏れの可能性があるデータ項目に,値設定が必要かどうかを確認する。

  4. 値設定が必要な場合は,プログラムを修正する。

(b) COBOLエディタで構文チェックする方法

COBOLエディタの構文チェック結果ウィンドウから初期化漏れを調査する手順を次に示します。COBOLエディタの操作方法については,マニュアル「COBOL2002 操作ガイド」を参照してください。

  1. 構文チェック オプションダイアログボックスのコンパイラの設定のオプションに「-CheckUninitData」を指定して,構文チェックを実行する。

  2. 構文チェック結果ウィンドウに初期化漏れチェック機能の警告メッセージが出力されていないかを確認する。

  3. 初期化漏れチェック機能の警告メッセージが出力されている場合は,メッセージをダブルクリックして該当行へジャンプし,初期化漏れの可能性があるデータ項目に,値設定が必要かどうかを確認する。

  4. 値設定が必要な場合は,プログラムを修正する。

(c) COBOLソース解析を使用する方法

COBOLソース解析の解析ログから初期化漏れを調査する手順を次に示します。COBOLソース解析の操作方法については,マニュアル「COBOL2002 Professional Tool Kit COBOLソース解析ガイド」を参照してください。

  1. -CheckUninitDataコンパイラオプションを指定してCOBOLソース解析を実行する。

  2. 解析ログを参照して,初期化漏れチェック機能の警告メッセージが出力されていないか確認する。

  3. 初期化漏れチェック機能の警告メッセージが出力されている場合は,メッセージをダブルクリックして該当行へジャンプし,初期化漏れの可能性があるデータ項目に,値設定が必要かどうかを確認する。

  4. 値設定が必要な場合は,プログラムを修正する。

(4) 初期化漏れチェック機能使用時の注意事項