リモートデバッガは、ネットワーク上の別のUNIX系システムで動作しているプログラムをデバッグすることができます。
リモートデバッガでデバッグが行えるプログラムは、通常のデバッガと同様に被デバッグプログラムです。被デバッグプログラムの作成方法は、サーバ側となる各システムの“NetCOBOL ユーザーズガイド”を参照してください。
リモートデバッグ機能を使用するためには、サーバ、クライアントの両方でTCP/IPプロトコルがサポートされている必要があります。
UNIX系システムで動作しているプログラムに対してリモートデバッグを開始するには、以下の2つの方法があります。
デバッガの起動画面からデバッグ対象プログラムを含む、または呼び出す実行可能プログラムを指定し実行します。
システムのサービスとして起動されるようなプログラムから、デバッグ対象となるCOBOLプログラムが呼び出されるような場合に使用します。
次のようなCOBOLプログラムが該当します。
Webサーバ配下のCOBOLプログラム
Interstage配下のCOBOLプログラム
それぞれの方法の概要については、“2.1.3.1 リモートデバッグの2つの方式”を参照してください。
デバッグに必要な資産が以下の格納場所にあることを確認します。
デバッグに必要な資産がサーバ側とクライアント側のどちらか一方または、両方に適切に格納されている必要があります。
デバッグに必要な資産を以下に示します。
デバッグ資産 | Windowsクライアント側 | UNIXサーバ側 |
---|---|---|
実行可能プログラム | - | ○ |
共用オブジェクトファイル | - | ○ |
デバッグ情報ファイル | - | ○ |
ソースファイル | ○ | - |
登録集原文 | ○ | - |
画面帳票定義体 | ○ | ○ |
コマンドファイル | ○ | - |
操作履歴ファイル | ○ | - |
以下の設定を行います。
一般形式とアタッチ形式では環境設定および手順が異なりますので、個別に手順を示します。
その他のリモートデバッガの使用方法は通常のデバッガと同じです。使用方法については、“3.6.3 対話型デバッガによるデバッグ”を参照してください。
一般形式のリモートデバッガ起動方法
UNIXサーバ側でリモートデバッガコネクタを起動します。
UNIXサーバのリモートデバッガコネクタの起動および終了方法については、“2.1.3.2 リモートデバッグのためのサーバ側の環境設定”および“2.3.1.3 リモートデバッグ時のサーバ側のユーザ環境の設定”を参照してください。
リモートデバッガを起動します。
プロジェクトマネージャの〔プロジェクト〕メニューから〔リモートデバッグ〕を選択します。COBOLデバッガが起動し、〔デバッグを開始する〕ダイアログが表示されます。
〔デバッグを開始する〕ダイアログで通常のデバッガと異なる設定は以下の通りです。
〔サーバ連携情報〕ページが追加されています。〔接続先〕に、リモートデバッガコネクタの起動時に指定したポート番号を追加します。
指定形式は以下の通りです。
{IPアドレス|ホスト名} [:ポート番号]
例
指定例
IPアドレスによる指定 : 192.168.0.103:59998
ホスト名による指定 : host1:59998
〔サーバ連携情報〕ページ以外のページについては、プロジェクトマネージャの設定よりデバッグに必要な基本的な設定が読み込まれ、設定されて表示されます。
追加、更新が必要な項目がある場合は、“3.6.3 対話型デバッガによるデバッグ”を参照し設定を行ってください。
参考
リモートデバッガは以下の方法で起動することもできます。
プロジェクトマネージャの〔ツール〕-〔デバッガ種別〕で、起動するデバッガを選択します。
プロジェクトマネージャの〔ツール〕-〔デバッガ〕を選択します。
この場合、プロジェクトマネージャの設定は読み込まれず、初期情報が表示されません。必要な情報をすべて記述する必要があります。
手順については、“NetCOBOL ユーザーズガイド”を参照してください。
アタッチ形式のリモートデバッガ起動方法
Windowsクライアント側でリモートデバッガコネクタを起動します。
プロジェクトマネージャでデバッグを行うプロジェクトを開き、〔ツール〕-〔リモートデバッガコネクタ〕を選択します。
リモートデバッガコネクタが起動されると、タスクトレイに以下のアイコンが表示されて、前回起動したときの設定でUNIX系システム側からのデバッグ開始の指示を監視します。
監視するポート番号を変更する場合は、タスクトレイに常駐しているリモートデバッガコネクタのアイコンを右クリックして、表示されるメニューから“環境設定”を選択してください。“リモートデバッガコネクタ”ダイアログが表示されます。〔ポート番号の変更〕ボタンをクリックし、〔ポート番号の変更〕ダイアログを表示して指定してください。
その他の“リモートデバッガコネクタ”ダイアログの操作方法については、ヘルプや“NetCOBOL ユーザーズガイド”を参照してください。
デバッグ完了後には、リモートデバッガコネクタを終了する必要があります。
タスクトレイに常駐しているリモートデバッガコネクタのアイコンを右クリックして、表
示されるメニューから“リモートデバッガコネクタの終了”を選択します。
環境変数CBR_ATTACH_TOOLを設定します。
設定方法については、“2.1.3.2 リモートデバッグのためのサーバ側の環境設定”を参照してください。
環境変数CBR_ATTACH_TOOLに指定するポート番号は、リモートデバッガコネクタで指定したポート番号を使用してください。
環境変数CBR_ATTACH_TOOLは初期化ファイルに指定することもできます。
デバッグしたいプログラムを実行します。
例
以下に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>
htmlを表示します。
“実行”ボタンをクリックします。
“cgismp01”が呼び出され、Windowsクライアントでリモートデバッガが自動的に起動します。
〔デバッグを開始する〕ダイアログが表示されるので、必要な情報を入力して〔OK〕ボタンをクリックします。
なお、環境変数CBR_ATTACH_TOOLに起動パラメタを指定しておくと、指定した内容が〔デバッグを開始する〕ダイアログに表示された状態で起動するため、毎回指定する必要がなくなります。
デバッガでは、デバッグ操作を再現したり、同一のデバッグ処理手順を頻繁に行うときのために、デバッグ作業を自動化することができます。
コマンドを格納したコマンドファイルを指定することにより、デバッガはコマンドファイル内に記述されたデバッグ操作を、順次自動的に実行します。
デバッグの形態によりバッチデバッグおよび自動デバッグに分類されます。
すべてのデバッグ操作を自動で行う場合に使用します。
実行するデバッグ操作をすべてコマンドファイルに格納し、デバッグの開始時にコマンドファイルを指定することで、同一のデバッグ操作を再現することができます。
利用者がデバッグ中に操作を指示する必要はありません。
コマンドファイル内のデバッグ操作が完了するとデバッガは終了します。
頻繁に使用するコマンド列を実行したり、デバッグ手順を途中まで再現するために以前に採取しておいた操作履歴ファイルのコマンド列を実行する場合に使用します。
デバッグ中にコマンドファイルを読み込み、任意の実行個所からコマンドファイル内のデバッグ操作を自動で順次実行することができます。
コマンドファイル内のデバッグ操作が完了すると、完了した時点の実行個所に位置付きますので、決まった手順の実行完了後からデバッグを再開することができます。
以下に、コマンドファイルの作成方法と、バッチデバッグおよび自動デバッグの開始手順を示します。
コマンドファイルの作成方法
デバッガが出力した操作履歴ファイルをコマンドファイルとして利用することができます。内容を変更しないでそのまま使用すれば、デバッグ操作を再現できます。また、テキストエディタにより必要箇所を修正することもできます。
操作履歴ファイルは以下の手順で出力します。
デバッガの〔オプション〕 - 〔履歴出力〕を選択します。
〔履歴出力〕ダイアログが表示されます。
〔操作履歴ファイル名〕にファイル名を設定します。
ファイルはWindowsクライアントのファイル名を指定します。
〔出力開始〕ボタンをクリックすると、操作履歴ファイルが設定されます。
〔現在の状態〕に“実行中”と表示されることを確認してください。
〔閉じる〕ボタンをクリックし〔履歴出力〕ダイアログを終了します。
履歴を取得するデバッグ動作を実行してください。
履歴を取得するデバッグ動作が完了した場合は、再度〔履歴出力〕ダイアログを表示し、〔出力終了〕ボタンをクリックしてください。
〔現在の状態〕に“停止”が表示され、操作履歴ファイルへの出力が解除されます。
参考
操作履歴ファイルは、デバッガの起動パラメタまたはENVコマンドで指定することもできます。手順については、“NetCOBOL ユーザーズガイド”を参照してください。
利用者がテキストエディタを使って作成します。
コマンドファイルへ格納できるコマンドは以下の通りです。
分類 | コマンド | 機能 |
---|---|---|
実行 | 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 | デバッグの終了 |
注意
セミコロン(;)から行末までの記述はコメントとして読み飛ばされます。
参照
コマンドの指定形式の詳細については、デバッガのヘルプの“リファレンス”を参照してください。
バッチデバッグの手順
デバッガを起動し、〔デバッグを開始する〕ダイアログを表示します。
〔バッチデバッグ〕ページの〔バッチデバッグを行う〕を指定し、ファイル名の設定を行います。
作成したWindowsクライアントのコマンドファイル名を指定します。
デバッグ結果を出力するWindowsクライアントのファイル名を指定します。
バッチデバッグの実行結果は、ここで指定した操作履歴ファイルに出力されます。
コマンドファイル名と同一のファイル名を指定することはできません。
他のページについては、通常のリモートデバッグ時と同様です。必要な設定を行ってから〔OK〕ボタンをクリックしてください。
コマンドファイル内に格納されたデバッグ操作が順次実行されます。
全てのデバッグ操作完了後、デバッガが終了します。
指定した操作履歴ファイルに出力された内容を確認してください。
自動デバッグの手順
デバッガを起動し、自動デバッグを開始したい位置までデバッグを実行します。
〔オプション〕メニュー - 〔自動デバッグ〕を選択し、〔自動デバッグ〕ダイアログを表示します。
〔コマンドファイル名〕に、作成したWindowsクライアントのコマンドファイル名を指定します。
〔OK〕ボタンをクリックすると、コマンドファイル内に格納されたデバッグ操作が順次実行されます。
全てのデバッグ操作が完了すると、完了した時点の実行個所に位置付きます。
デバッグを再開してください。
ただし、コマンドファイルにQUIT コマンドが現れた場合は、その時点でデバッグを終了し、デバッガも終了します。