ページの先頭行へ戻る
NetCOBOL V12.0 ユーザーズガイド(UNIX分散開発編)
FUJITSU Software

3.6.3 対話型デバッガによるデバッグ

NetCOBOLに含まれる対話型デバッガを使用すると、実行可能プログラムをそのままデバッグの対象とし、プログラムの論理的な誤りを、プログラムを動作させながら検出することができます。

ここでは、対話型デバッガについて、以下の説明をします。

それ以外の対話型デバッガの詳細な機能や操作方法については、“NetCOBOL ユーザーズガイド”またはデバッガ自身のヘルプを参照してください。

図3.39 対話型デバッガによるデバッグ例

3.6.3.1 対話型デバッガの特徴

NetCOBOLの提供する対話型デバッガは次のような特徴を持っています。

各種情報をリアルタイムに表示しながら、対話的にデバッグ可能

デバッグ対象プログラムのCOBOLソースプログラムを画面に表示させ、これをキーボード・マウスで直接操作することで、デバッガとして基本的な機能である、次のような操作が可能です。

また、必要に応じて、次のような情報を表示させ、操作することも可能です。

データ変更での中断

データの内容が変更されたときにプログラムの実行を中断し、デバッグ操作を可能にします。

実行監視条件での中断

指定した条件式が成立したときにプログラムの実行を中断し、デバッグ操作を可能にします。

特定実行条件での中断

動詞の種類やファイルを指定して、該当する文に到達したときにプログラムの実行を中断し、デバッグ操作を可能にします。

バッチデバッグやデバッグ操作の再現

ファイルからコマンドを入力することにより、バッチデバッグを行うことができます。

また、操作の履歴をファイルに保存して、これを入力として使用することにより、デバッグ操作を再現させることができます。

連絡節データ獲得

呼び出されたプログラムで、呼び出し元のプログラムから渡されたパラメタとは別に、連絡節で定義されたデータの領域を確保することができます。

3.6.3.2 対話型デバッグのための準備

対話型デバッガは、実行可能プログラム(EXE)および実行可能プログラムから呼び出されるダイナミックリンクライブラリ(DLL)をデバッグすることができます。これらの実行可能プログラムおよびダイナミックリンクライブラリをデバッグ対象プログラムと呼びます。

デバッグ対象プログラムは、通常、複数個のCOBOLソースプログラムで構成されます。このうち、デバッガの機能を利用してデバッグの操作が行えるCOBOLソースプログラムを被デバッグプログラムと呼びます。

図3.40 対話型デバッグに必要となる資源

デバッガに、被デバッグプログラムと認識させるには、COBOLコンパイラにより作成されるデバッグ情報ファイルが必要です。

デバッグ対象プログラムが実行可能ファイルであっても、ダイナミックリンクライブラリであっても、その中に含まれるプログラムが次の条件を満たせば、被デバッグプログラムとなります。

プロジェクトを作成し、〔プロジェクト〕-〔オプション〕メニューから “デバッグモジュール作成”を選択した状態で最終ターゲットファイルのビルドが行われた場合は、この条件は自然に満たされます。

図3.41 “デバッグモジュール作成”が選択されているプロジェクト

3.6.3.3 対話型デバッグの開始

対話型デバッガによるデバッグの開始手順を説明します。

  1. COBOLプロジェクトマネージャを起動します。プロジェクトの最終ターゲットファイルを選択します。

  2. 〔プロジェクト〕メニューの“デバッグ”を選択します。

    図3.42 COBOLプロジェクトマネージャからデバッグを開始する

  3. 対話型デバッガが起動して、“デバッグを開始する”ダイアログが表示されます。

  4. プロジェクトの最終ターゲットが実行可能ファイルである場合、〔デバッグを開始する〕ダイアログの〔アプリケーション名〕に実行可能ファイル名が指定されています。

    プロジェクトの最終ターゲットがダイナミックリンクライブラリである場合、〔アプリケーション名〕は空白になっているため、テスト対象プログラム(ダイナミックリンクライブラリ)を呼び出す実行可能ファイル(テストドライバなど)を指定します。

    図3.43 〔デバッグを開始する〕ダイアログ

  5. 〔アプリケーション名〕に指定した実行可能ファイル名に含まれる最初に実行されるプログラムが被デバッグプログラムでない場合(テストドライバなど)、〔開始プログラム名〕に被デバッグプログラムの名前を指定します。

  6. この状態でデバッグに必要な資源は、すべてデバッグ対象プログラムと同じフォルダにあるものと見なされています。他のフォルダに格納された資源(例えば、COBOL登録集)がある場合は、正しい格納フォルダを指定してください。

    図3.44 必要な資源の指定

  7. 〔OK〕ボタンをクリックするとデバッグが開始されます。