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

4.4.1 リモートデバッガの概要

リモートデバッガは、ネットワーク上の別のUNIX系システムで動作しているプログラムをデバッグすることができます。

リモートデバッガでデバッグが行えるプログラムは、通常のデバッガと同様に被デバッグプログラムです。被デバッグプログラムの作成方法は、サーバ側となる各システムの“NetCOBOL ユーザーズガイド”を参照してください。

リモートデバッグ機能を使用するためには、サーバ、クライアントの両方でTCP/IPプロトコルがサポートされている必要があります。

4.4.1.1 リモートデバッグによるデバッグ機能

UNIX系システムで動作しているプログラムに対してリモートデバッグを開始するには、以下の2つの方法があります。

一般形式のリモートデバッガ起動方法

デバッガの起動画面からデバッグ対象プログラムを含む、または呼び出す実行可能プログラムを指定し実行します。

アタッチ形式のリモートデバッガ起動方法

システムのサービスとして起動されるようなプログラムから、デバッグ対象となるCOBOLプログラムが呼び出されるような場合に使用します。

次のようなCOBOLプログラムが該当します。

  • Webサーバ配下のCOBOLプログラム

  • Interstage配下のCOBOLプログラム

それぞれの方法の概要については、“2.1.3.1 リモートデバッグの2つの方式”を参照してください。

4.4.1.2 リモートデバッグの手順

  1. デバッグに必要な資産が以下の格納場所にあることを確認します。

    デバッグに必要な資産がサーバ側とクライアント側のどちらか一方または、両方に適切に格納されている必要があります。

    デバッグに必要な資産を以下に示します。

    表4.6 リモートデバッグ時の資産格納場所

    デバッグ資産

    Windowsクライアント側

    UNIXサーバ側

    実行可能プログラム

    -

    共用オブジェクトファイル

    -

    デバッグ情報ファイル

    -

    ソースファイル

    -

    登録集原文

    -

    画面帳票定義体

    コマンドファイル

    -

    操作履歴ファイル

    -

  2. 以下の設定を行います。

    一般形式とアタッチ形式では環境設定および手順が異なりますので、個別に手順を示します。

  3. その他のリモートデバッガの使用方法は通常のデバッガと同じです。使用方法については、“3.6.3 対話型デバッガによるデバッグ”を参照してください。

一般形式のリモートデバッガ起動方法

  1. UNIXサーバ側でリモートデバッガコネクタを起動します。

    UNIXサーバのリモートデバッガコネクタの起動および終了方法については、“2.1.3.2 リモートデバッグのためのサーバ側の環境設定”および“2.3.1.3 リモートデバッグ時のサーバ側のユーザ環境の設定”を参照してください。

  2. リモートデバッガを起動します。

    プロジェクトマネージャの〔プロジェクト〕メニューから〔リモートデバッグ〕を選択します。COBOLデバッガが起動し、〔デバッグを開始する〕ダイアログが表示されます。

  3. 〔デバッグを開始する〕ダイアログで通常のデバッガと異なる設定は以下の通りです。

    〔サーバ連携情報〕ページが追加されています。〔接続先〕に、リモートデバッガコネクタの起動時に指定したポート番号を追加します。

    指定形式は以下の通りです。

    {IPアドレス|ホスト名} [:ポート番号]

    指定例

    IPアドレスによる指定  :  192.168.0.103:59998

    ホスト名による指定  :  host1:59998

    図4.16 [デバッグを開始する]ダイアログ

  4. 〔サーバ連携情報〕ページ以外のページについては、プロジェクトマネージャの設定よりデバッグに必要な基本的な設定が読み込まれ、設定されて表示されます。

    追加、更新が必要な項目がある場合は、“3.6.3 対話型デバッガによるデバッグ”を参照し設定を行ってください。

参考

リモートデバッガは以下の方法で起動することもできます。

  • プロジェクトマネージャの〔ツール〕-〔デバッガ種別〕で、起動するデバッガを選択します。

  • プロジェクトマネージャの〔ツール〕-〔デバッガ〕を選択します。

この場合、プロジェクトマネージャの設定は読み込まれず、初期情報が表示されません。必要な情報をすべて記述する必要があります。

手順については、“NetCOBOL ユーザーズガイド”を参照してください。

アタッチ形式のリモートデバッガ起動方法

  1. Windowsクライアント側でリモートデバッガコネクタを起動します。

    プロジェクトマネージャでデバッグを行うプロジェクトを開き、〔ツール〕-〔リモートデバッガコネクタ〕を選択します。

    リモートデバッガコネクタが起動されると、タスクトレイに以下のアイコンが表示されて、前回起動したときの設定でUNIX系システム側からのデバッグ開始の指示を監視します。

    図4.17 リモートデバッガコネクタアイコン

    監視するポート番号を変更する場合は、タスクトレイに常駐しているリモートデバッガコネクタのアイコンを右クリックして、表示されるメニューから“環境設定”を選択してください。“リモートデバッガコネクタ”ダイアログが表示されます。〔ポート番号の変更〕ボタンをクリックし、〔ポート番号の変更〕ダイアログを表示して指定してください。

    図4.18 リモートデバッガコネクタダイアログ

    その他の“リモートデバッガコネクタ”ダイアログの操作方法については、ヘルプや“NetCOBOL ユーザーズガイド”を参照してください。

    デバッグ完了後には、リモートデバッガコネクタを終了する必要があります。

    タスクトレイに常駐しているリモートデバッガコネクタのアイコンを右クリックして、表

    示されるメニューから“リモートデバッガコネクタの終了”を選択します。

  2. 環境変数CBR_ATTACH_TOOLを設定します。

    設定方法については、“2.1.3.2 リモートデバッグのためのサーバ側の環境設定”を参照してください。

    環境変数CBR_ATTACH_TOOLに指定するポート番号は、リモートデバッガコネクタで指定したポート番号を使用してください。

    環境変数CBR_ATTACH_TOOLは初期化ファイルに指定することもできます。

  3. デバッグしたいプログラムを実行します。

以下にWebブラウザから実行を行う例を示します。

以下の様なhtmlファイルから、“cgismp01”を呼び出すアプリケーションをデバッグします。

被デバッグプログラムを“cgismp01.cob”とします。

<HTML>
        <HEAD>
        <TITLE>ホームページ</TITLE>
        </HEAD>
        <BODY> 
              
        <FORM METHOD="POST" ACTION="cgismp01">

        <BR>
        名前:<INPUT SIZE=20 MAXLENGTH=20 TYPE="TEXT" NAME="NAME"><BR>
        <BR>
            
        趣味
        <UL>
        <LI><INPUT TYPE="CHECKBOX" NAME="CHECK1" VALUE="音楽鑑賞">音楽鑑賞<BR>
        <LI><INPUT TYPE="CHECKBOX" NAME="CHECK1" VALUE="読書">読書<BR>
        <LI><INPUT TYPE="CHECKBOX" NAME="CHECK1" VALUE="スポーツ">スポーツ<BR>
        <LI><INPUT TYPE="CHECKBOX" NAME="CHECK1" VALUE="ドライブ">ドライブ<BR>
        </UL>
        <BR> 
            
        性別<BR>
        <OL>    
        <LI><INPUT TYPE="RADIO" NAME="RADIO1" VALUE="男" CHECKED>男<BR>
        <LI><INPUT TYPE="RADIO" NAME="RADIO1" VALUE="女">女<BR>
        </OL>

        <INPUT TYPE="SUBMIT" NAME="OK" VALUE="実行"><P>
        </FORM>
        </BODY>
</HTML>
  1. htmlを表示します。

    図4.19 html表示例

  2. “実行”ボタンをクリックします。

  3. “cgismp01”が呼び出され、Windowsクライアントでリモートデバッガが自動的に起動します。

    〔デバッグを開始する〕ダイアログが表示されるので、必要な情報を入力して〔OK〕ボタンをクリックします。

    なお、環境変数CBR_ATTACH_TOOLに起動パラメタを指定しておくと、指定した内容が〔デバッグを開始する〕ダイアログに表示された状態で起動するため、毎回指定する必要がなくなります。

4.4.1.3 デバッグ操作の自動化

デバッガでは、デバッグ操作を再現したり、同一のデバッグ処理手順を頻繁に行うときのために、デバッグ作業を自動化することができます。

コマンドを格納したコマンドファイルを指定することにより、デバッガはコマンドファイル内に記述されたデバッグ操作を、順次自動的に実行します。

デバッグの形態によりバッチデバッグおよび自動デバッグに分類されます。

バッチデバッグ

すべてのデバッグ操作を自動で行う場合に使用します。

実行するデバッグ操作をすべてコマンドファイルに格納し、デバッグの開始時にコマンドファイルを指定することで、同一のデバッグ操作を再現することができます。

利用者がデバッグ中に操作を指示する必要はありません。

コマンドファイル内のデバッグ操作が完了するとデバッガは終了します。

自動デバッグ

頻繁に使用するコマンド列を実行したり、デバッグ手順を途中まで再現するために以前に採取しておいた操作履歴ファイルのコマンド列を実行する場合に使用します。

デバッグ中にコマンドファイルを読み込み、任意の実行個所からコマンドファイル内のデバッグ操作を自動で順次実行することができます。

コマンドファイル内のデバッグ操作が完了すると、完了した時点の実行個所に位置付きますので、決まった手順の実行完了後からデバッグを再開することができます。

以下に、コマンドファイルの作成方法と、バッチデバッグおよび自動デバッグの開始手順を示します。

コマンドファイルの作成方法

操作履歴ファイルを利用する方法

デバッガが出力した操作履歴ファイルをコマンドファイルとして利用することができます。内容を変更しないでそのまま使用すれば、デバッグ操作を再現できます。また、テキストエディタにより必要箇所を修正することもできます。

操作履歴ファイルは以下の手順で出力します。

  1. デバッガの〔オプション〕  -  〔履歴出力〕を選択します。

    〔履歴出力〕ダイアログが表示されます。

    図4.20 履歴出力ダイアログ

  2. 〔操作履歴ファイル名〕にファイル名を設定します。

    ファイルはWindowsクライアントのファイル名を指定します。

  3. 〔出力開始〕ボタンをクリックすると、操作履歴ファイルが設定されます。

    〔現在の状態〕に“実行中”と表示されることを確認してください。

    図4.21 履歴出力ダイアログ(実行中)

  4. 〔閉じる〕ボタンをクリックし〔履歴出力〕ダイアログを終了します。

  5. 履歴を取得するデバッグ動作を実行してください。

  6. 履歴を取得するデバッグ動作が完了した場合は、再度〔履歴出力〕ダイアログを表示し、〔出力終了〕ボタンをクリックしてください。

    〔現在の状態〕に“停止”が表示され、操作履歴ファイルへの出力が解除されます。

参考

操作履歴ファイルは、デバッガの起動パラメタまたはENVコマンドで指定することもできます。手順については、“NetCOBOL ユーザーズガイド”を参照してください。

テキストエディタで作成する方法

利用者がテキストエディタを使って作成します。

コマンドファイルへ格納できるコマンドは以下の通りです。

表4.7 デバッガのコマンド一覧

分類

コマンド

機能

実行

CONTINUE

実行の再開

RUNTO

中断点指定実行

SKIP

実行開始位置の変更

RERUN

再デバッグ

中断点

BREAK

中断点の設定

DELETE

中断点の解除

通過カウント点

COUNT

通過カウント点の設定

DELCOUNT

通過カウント点の解除

データ

LIST

データ域の内容参照

SET

データ域の内容変更

LINKAGE

連絡節のデータ域の獲得

ASSIGNDATA

データファイルの割当て

OPENDATA

データファイルのオープン

READDATA

データファイルからの読込み

WRITEDATA

データファイルへの書込み

CLOSEDATA

データファイルのクローズ

データ域の監視

MONITOR

データ域の変更時中断

DELMON

データ域変更時中断の解除

DTRACE

データ域の変更の監視

DELDTR

データ域変更監視の解除

条件式の監視

DATACHK

条件式の成立の監視

DELDCHK

条件式監視の解除

状態

ENV

デバッグ環境の設定/変更

STATUS

デバッグ状態の表示

SCOPE

プログラム修飾の変更

WHERE

現在位置の表示

CALLS

呼出し経路の表示

THREADLIST

スレッドの状態の表示

スレッド操作

CURRENTTHREAD

暗黙スレッドの切り替え

ALTERTHREAD

スレッドの状態の変更

操作の再現

AUTORUN

自動デバッグ

終了

QUIT

デバッグの終了

注意

セミコロン(;)から行末までの記述はコメントとして読み飛ばされます。

参照

コマンドの指定形式の詳細については、デバッガのヘルプの“リファレンス”を参照してください。

バッチデバッグの手順

  1. デバッガを起動し、〔デバッグを開始する〕ダイアログを表示します。

  2. 〔バッチデバッグ〕ページの〔バッチデバッグを行う〕を指定し、ファイル名の設定を行います。

    図4.22 バッチデバッグページ

    コマンドファイル名

    作成したWindowsクライアントのコマンドファイル名を指定します。

    操作履歴ファイル名

    デバッグ結果を出力するWindowsクライアントのファイル名を指定します。

    バッチデバッグの実行結果は、ここで指定した操作履歴ファイルに出力されます。

    コマンドファイル名と同一のファイル名を指定することはできません。

  3. 他のページについては、通常のリモートデバッグ時と同様です。必要な設定を行ってから〔OK〕ボタンをクリックしてください。

    コマンドファイル内に格納されたデバッグ操作が順次実行されます。

  4. 全てのデバッグ操作完了後、デバッガが終了します。

    指定した操作履歴ファイルに出力された内容を確認してください。

自動デバッグの手順

  1. デバッガを起動し、自動デバッグを開始したい位置までデバッグを実行します。

  2. 〔オプション〕メニュー  -  〔自動デバッグ〕を選択し、〔自動デバッグ〕ダイアログを表示します。

    図4.23 自動デバッグダイアログ

  3. 〔コマンドファイル名〕に、作成したWindowsクライアントのコマンドファイル名を指定します。

  4. 〔OK〕ボタンをクリックすると、コマンドファイル内に格納されたデバッグ操作が順次実行されます。

  5. 全てのデバッグ操作が完了すると、完了した時点の実行個所に位置付きます。

    デバッグを再開してください。

    ただし、コマンドファイルにQUIT コマンドが現れた場合は、その時点でデバッグを終了し、デバッガも終了します。