リモートデバッグを行う場合、クライアント側のデバッガからの指示を監視するリモートデバッガコネクタをサーバ側で起動しておく必要があります。リモートデバッガコネクタはサーバ側のNetCOBOLコマンドプロンプトから、以下のコマンド形式で起動します。
サーバ | 起動コマンド |
---|---|
Windows(64) | cobrds64 [ポート指定] [接続制限指定] |
Solaris | svdrds [ポート指定] [接続制限指定] |
Solaris(64) | |
Linux(Itanium) | |
Linux(64) |
[ポート指定]は、以下の形式で指定します。
-p ポート番号
ポート番号は、NetCOBOL Studioのリモートデバッガの起動で指定したポート番号と同じ値を指定します。
ポート番号は1024から65535の範囲の数字で指定し、省略すると59998となります。
[接続制限指定]は、以下の形式で指定します。
-h ホスト名 | -s 接続制限ファイル名 [ -e ]
接続を許可するホスト名またはIPアドレスを1つだけ指定します。
接続制限ファイルを指定します。
接続制限ファイルに指定された内容を処理した結果、どのような接続制限が行われるようになったかを表示します。
-s、-h共に省略した場合は、すべてのコンピューターからの接続を許可します。
リモートデバッガコネクタが起動されると、IPアドレスとポート番号を表示して、クライアント側からのデバッグ開始の指示を監視します。
注意
デバッグしたいプログラムに対して環境変数を指定する必要がある場合は、リモートデバッガコネクタを起動する前に設定しておきます。
デバッグしたいプログラムを異なる環境で動作させる必要がある場合には、リモートデバッガコネクタは、その環境ごとに起動する必要があります。なお、ここでの環境とは、環境変数のようにリモートデバッガコネクタを起動した時点で動作が確定し、それ以降は変更できない設定のことです。
サーバ側のリモートデバッガコネクタはデバッガ終了時に自動終了しないため、リモートデバッグを終了した場合は、リモートデバッガコネクタも終了させる必要があります。
サーバ側のリモートデバッガコネクタを終了させるには、サーバ側のリモートデバッガコネクタを起動したコマンド入力画面で [Ctrl + C]を実行してください。
サーバ側リモートデバッガコネクタおよびクライアント側リモートデバッガコネクタが使用するポート番号は、それぞれのシステムで使用しているポート番号と重複しないようご注意ください。
例
Windows(64)サーバのリモートデバッガコネクタの起動例
複数の開発者が同時にデバッグを行う場合
cobrds64 -p 10001 -h client-1 ← 開発者-1用 cobrds64 -p 10002 -h client-2 ← 開発者-2用 cobrds64 -p 10003 -h client-3 ← 開発者-3用
開発者ごとに使用するポート番号をあらかじめ決めておき、-pで指定します。
-hを指定して、リモートデバッグ要求を受け付けるWindowsクライアントを制限し、他の開発者が誤って接続しても拒否されるようにします。
接続制限を行う接続制限ファイルは、以下の形式で指定します。
[ ALLOW={ ALL | 接続対象 [接続対象 ...] } ] [ DENY={ ALL | 接続対象 [接続対象 ...] } ]
ALLOWに指定された接続対象からの接続は許可します。省略した場合はALLを指定したものとみなされます。
DENYに指定された接続対象からの接続は拒否します。省略した場合はALLを指定したものとみなされます。
ALLを指定した場合は、すべてのコンピューターからの接続を許可、または拒否します。
ALLOWとDENYの指定が重複する場合、ALLOWの指定を記述していると、ALLOWの指定が優先されます。
複数行に渡って記述する場合には、末尾に\を書きます。
例
ALLOW=192.168.0.1 192.168.0.3 \ 192.168.0.8-192.168.0.10
“表9.22 接続対象の指定形式(IPv4アドレスの場合)”および“表9.23 接続対象の指定形式(IPv6アドレスの場合)”に接続対象の指定形式を示します。
指定形式 | 指定例 | IPアドレスの適用範囲例 |
---|---|---|
IPアドレス指定 | 192.168.0.1 | 192.168.0.1 |
範囲指定 | 192.168.0.1-192.168.0.10 | 192.168.0.1 ~ 192.168.0.10 |
ワイルドカード(注1) | 192.168.0.* | 192.168.0.0 ~ 192.168.0.255 |
ホスト名(注2) | Hostname | 192.168.0.1 |
注1:ワイルドカード“*”は、“.”で区切られた各10進数(8ビット)の代わりに指定できます。
注2:IPアドレス192.168.0.1に対して、Hostnameという名前のホスト名が割り当てられている場合の例です。
指定形式 | 指定例 | IPアドレスの適用範囲例 |
---|---|---|
IPアドレス指定 | fe80::1:23:456:789a | fe80::1:23:456:789a |
範囲指定 | fe80::1:23:456:1-fe80::1:23:456:789a | fe80::1:23:456:1 ~ fe80::1:23:456:789a |
ワイルドカード(注3) | fe80::1:23:*:789a | fe80::1:23:0:789a ~ fe80::1:23:ffff:789a |
ホスト名(注4) | Hostname | fe80::1:23:456:789a |
注3:ワイルドカード“*”は、“:”で区切られた各16進数(16ビット)の代わりに指定できます。
注4:IPアドレス fe80::1:23:456:789aに対して、Hostnameという名前のホスト名が割り当てられている場合の例です。
注意
接続制限ファイルの内容に誤りがある場合は、接続制限ファイルによる指定が無効になり、すべてのコンピューターからの接続を許可します。
Windowsファイアウォール
サーバ側のOSがWindows(64)の場合、“Windowsファイアウォール”が有効となっているとリモートデバッガコネクタが使用できません。このため、“9.3.3 Windowsファイアウォールの例外の登録”と同じ順で“cobrds64.exe”をWindowsファイアウォールの例外として登録します。
[依存]または[構造]ビューからCOBOLプロジェクトを選択します。
メニューバーから[実行(R)] > [デバッグの構成(B)]を選択します。またはツールバーで の
をクリックし[デバッグの構成(B)]を選択します。
→ [デバッグ構成]ダイアログボックスが表示されます。
左のペインで[リモートCOBOLアプリケーション]を選択します。
左のペイン上の をクリックすると、右のペインに起動構成の設定ページが表示されます。
初期値で[名前]に起動構成名が表示されます。起動構成名は任意の名前に変更することができます。
[メイン]タブをクリックし、各設定項目の確認と必要に応じて変更を行います。
項目 | 説明 |
---|---|
プロジェクト名 | 選択したプロジェクト名が表示されます。 |
デバッグ方法 | [通常デバッグ]を選択します。 |
サーバ名 | プロジェクトのプロパティーで設定したサーバ名が表示されます。 |
ポート番号 | デバッグ時のサーバ側との通信に使用するポート番号を設定します。 サーバ側のリモートデバッガコネクタの起動時に指定したポート番号と同じ値を設定してください。初期値では、サーバ側リモートデバッガコネクタの初期値である59998が設定されます。 |
実行ファイル | デバッグの対象となる実行ファイルを設定します。初期値では、メイクファイルの有無によって、以下が設定されます。
デバッグ対象がダイナミックリンクライブラリの場合には、対象となるファイルを指定してください。 |
作業ディレクトリ | デバッグ対象アプリケーションの作業ディレクトリを設定します。 初期値では、実行ファイルのディレクトリが設定されます |
プログラム引数 | コマンドラインで指定する形式でプログラムの引数を設定します。 |
[デバッグ(D)]を選択することでデバッグが開始されます。一度デバッグ起動した起動構成は、[実行(R)] > [デバッグ履歴(H)]およびツールバーのショートカットに登録され、そこから再度起動することができます。
注意
プロジェクトにリモート開発の情報が設定されていない場合は、[デバッグ方法]で[通常デバッグ]を選択することはできません。
ポイント
[依存]ビューまたは[構造]ビューでプロジェクトを選択し、メニューバーから[実行(R)] > [デバッグ(G)] > [リモートCOBOLアプリケーション]を選択することにより、デフォルトの設定でデバッガを起動することができます。