NetCOBOLに含まれる対話型デバッガを使用すると、実行可能プログラムをそのままデバッグの対象とし、プログラムの論理的な誤りを、プログラムを動作させながら検出することができます。
ここでは、対話型デバッガについて、以下の説明をします。
対話型デバッガの特徴
対話型デバッグのための準備
対話型デバッグの開始
それ以外の対話型デバッガの詳細な機能や操作方法については、“NetCOBOL ユーザーズガイド”またはデバッガ自身のヘルプを参照してください。
NetCOBOLの提供する対話型デバッガは次のような特徴を持っています。
各種情報をリアルタイムに表示しながら、対話的にデバッグ可能
デバッグ対象プログラムのCOBOLソースプログラムを画面に表示させ、これをキーボード・マウスで直接操作することで、デバッガとして基本的な機能である、次のような操作が可能です。
プログラムの各種実行(ステップイン/ステップオーバ/ステップアウトなど)
中断点の設定/解除
データの表示/変更/監視
また、必要に応じて、次のような情報を表示させ、操作することも可能です。
監視中のデータ項目の情報
プログラムの呼び出し経路
プログラム一覧
データ変更での中断
データの内容が変更されたときにプログラムの実行を中断し、デバッグ操作を可能にします。
実行監視条件での中断
指定した条件式が成立したときにプログラムの実行を中断し、デバッグ操作を可能にします。
特定実行条件での中断
動詞の種類やファイルを指定して、該当する文に到達したときにプログラムの実行を中断し、デバッグ操作を可能にします。
バッチデバッグやデバッグ操作の再現
ファイルからコマンドを入力することにより、バッチデバッグを行うことができます。
また、操作の履歴をファイルに保存して、これを入力として使用することにより、デバッグ操作を再現させることができます。
連絡節データ獲得
呼び出されたプログラムで、呼び出し元のプログラムから渡されたパラメタとは別に、連絡節で定義されたデータの領域を確保することができます。
対話型デバッガは、実行可能プログラム(EXE)および実行可能プログラムから呼び出されるダイナミックリンクライブラリ(DLL)をデバッグすることができます。これらの実行可能プログラムおよびダイナミックリンクライブラリをデバッグ対象プログラムと呼びます。
デバッグ対象プログラムは、通常、複数個のCOBOLソースプログラムで構成されます。このうち、デバッガの機能を利用してデバッグの操作が行えるCOBOLソースプログラムを被デバッグプログラムと呼びます。
デバッガに、被デバッグプログラムと認識させるには、COBOLコンパイラにより作成されるデバッグ情報ファイルが必要です。
デバッグ対象プログラムが実行可能ファイルであっても、ダイナミックリンクライブラリであっても、その中に含まれるプログラムが次の条件を満たせば、被デバッグプログラムとなります。
翻訳オプションTESTを指定して翻訳した。かつ、
リンクオプション“/DEBUG /DEBUGTYPE:COFF”を指定してリンクした。
プロジェクトを作成し、〔プロジェクト〕-〔オプション〕メニューから “デバッグモジュール作成”を選択した状態で最終ターゲットファイルのビルドが行われた場合は、この条件は自然に満たされます。
対話型デバッガによるデバッグの開始手順を説明します。
COBOLプロジェクトマネージャを起動します。プロジェクトの最終ターゲットファイルを選択します。
〔プロジェクト〕メニューの“デバッグ”を選択します。
対話型デバッガが起動して、“デバッグを開始する”ダイアログが表示されます。
プロジェクトの最終ターゲットが実行可能ファイルである場合、〔デバッグを開始する〕ダイアログの〔アプリケーション名〕に実行可能ファイル名が指定されています。
プロジェクトの最終ターゲットがダイナミックリンクライブラリである場合、〔アプリケーション名〕は空白になっているため、テスト対象プログラム(ダイナミックリンクライブラリ)を呼び出す実行可能ファイル(テストドライバなど)を指定します。
〔アプリケーション名〕に指定した実行可能ファイル名に含まれる最初に実行されるプログラムが被デバッグプログラムでない場合(テストドライバなど)、〔開始プログラム名〕に被デバッグプログラムの名前を指定します。
この状態でデバッグに必要な資源は、すべてデバッグ対象プログラムと同じフォルダにあるものと見なされています。他のフォルダに格納された資源(例えば、COBOL登録集)がある場合は、正しい格納フォルダを指定してください。
〔OK〕ボタンをクリックするとデバッグが開始されます。