第9章 リモート開発機能
9.5 リモートデバッグ
9.5.2 アタッチデバッグ
アタッチデバッグは、サーバ側で実行したCOBOLアプリケーションからローカルPC側のリモートデバッガを起動し、デバッグを開始す る方法です。アタッチデバッグは、以下の順で行います。
1. ローカルPC側でリモートデバッガを起動します。(ローカルPC側で起動したリモートデバッガは、サーバ側でCOBOLアプリケー ションが実行されるまで待機状態となります。)
ローカルPC側でリモートデバッガが起動されると、ローカルPC側のリモートデバッガコネクタが自動的に起動されます。
2. サーバ側でCOBOLアプリケーションを実行します。アプリケーションを実行する前に、アプリケーションの実行が開始されたこと をローカルPC側のリモートデバッガに通知するための環境変数を設定しておきます。
9.5.2.1 リモートデバッガの起動
以下の手順でリモートデバッガを起動します。
1. [依存]ビューまたは[構造]ビューからCOBOLプロジェクトを選択します。
2. メニューバーから[実行] > [構成およびデバッグ]を選択します。またはツールバーで の をクリックし[構成およびデバッ グ]を選択します。
→ [構成およびデバッグ]ダイアログボックスが表示されます。
3. 左のペインで[リモートCOBOLアプリケーション]を選択します。
4. 左のペイン上の をクリックすると、右のペインに起動構成の設定ページが表示されます。
5. 初期値で[名前]に起動構成名が表示されます。起動構成名は任意の名前に変更することができます。
6. [メイン]タブをクリックし、各設定項目の確認と必要に応じて変更を行います。
項目 説明
プロジェクト名 選択したプロジェクト名が表示されます。
デバッグ方法 [アタッチデバッグ]を選択します。
デバッグ情報ディレクトリ プロジェクトの[プロパティ]ダイアログボックスの[リモート開発]ページの[サーバディ レクトリ]で指定したディレクトリと異なるディレクトリにデバッグ情報ファイルが格納さ れている場合、その格納ディレクトリを指定します。
複数のディレクトリを指定する場合には次のように指定します。
・ サーバがSolaris、Linuxの場合は“:”(コロン)で区切って指定します。
・ サーバがWindowsの場合は“;”(セミコロン)で区切って指定します。
7. [デバッグ]を選択すると、デバッガが起動され、デバッグするアプリケーションの起動が通知されるまで待機状態となります。一度 デバッグ起動した起動構成は、[実行] > [ヒストリのデバッグ]およびツールバーのショートカットに登録され、そこから再度起動す ることができます。
注意
サーバがSolarisまたはLinuxであり、かつ、デバッグ対象のCOBOLアプリケーションが使用するダイナミックリンクライブラリが実行ファ イルと異なるディレクトリに格納されている場合は、ダイナミックリンクライブラリのデバッグ情報ファイル(.svd)を実行ファイルの格納ディ レクトリにコピーしてからデバッグを開始してください。
ポイント
[依存]ビューまたは[構造]ビューでプロジェクトを選択し、メニューバーから[実行] > [デバッグ] > [リモートCOBOLアプリケーション]を 選択することにより、デフォルトの設定でデバッガを起動することができます。
ローカルPC側リモートデバッガコネクタ
アタッチ形式のリモートデバッグでは、サーバ側のデバッガからの指示を監視するリモートデバッガコネクタは、リモートデバッガの起動 時に、ローカルPC上で自動的に起動されます。ローカルPC側リモートデバッガコネクタが起動されると、タスクトレイにアイコン が 表示されます。
注意
リモートデバッガコネクタはデバッガ終了時に自動終了しないため、リモートデバッグを終了した場合、リモートデバッガコネクタも終了 させる必要があります。リモートデバッガコネクタを終了させるには、アイコン のコンテキストメニューから[終了]を選択してください。
ローカルPC側リモートデバッガコネクタに関するその他の詳細については、“NetCOBOL 使用手引書”を参照してください。
9.5.2.2 サーバ側アプリケーションの実行
サーバ側では以下を行います。
・ サーバ側で実行したアプリケーションからローカルPC側で起動したリモートデバッガにアプリケーションが実行を通知するための環 境変数の設定
・ デバッグ対象のアプリケーションの実行 設定する環境変数は以下のとおりです。
COBOLアプリケーションの場合
サーバ 環境変数
Windows(Itanium) @CBR_ATTACH_TOOL=接続先/STUDIO 追加パスリスト
Windows(x64)
Solaris CBR_ATTACH_TOOL=接続先/STUDIO 追加パスリスト
Linux(Itanium) Linux(x64)
・ “接続先”には、ローカルPCのIPアドレスまたはホスト名および必要に応じてポート番号を指定します。
クライアント側のリモートデバッガコネクタのポート番号と動作しているコンピュータを以下の形式で指定します。
{IPアドレス | ホスト名}[:ポート番号]
IPアドレスは、IPv4またはIPv6の形式で指定します。
ポート番号は、1024から65535の範囲の数字を指定します。ポート番号を省略した場合は、59999が指定されたと見なされます。
IPv6形式の場合は、スコープ付きアドレスを指定することができます。スコープ付きアドレスを指定する場合、アドレスの後にスコー プ識別子を指定します。
なお、IPv6アドレスにポート番号を指定する場合は、アドレス部分を“[ ]”で囲んでください。
例:
- IPv4アドレス(192.168.0.1)およびポート番号(2000)での指定
@CBR_ATTACH_TOOL=192.168.0.1:2000/STUDIO
- IPv6アドレス(fe80::1:23:456:789a)およびポート番号(2000)での指定
@CBR_ATTACH_TOOL=[fe80::1:23:456:789a]:2000/STUDIO
- IPv6アドレス(fe80::1:23:456:789a)およびスコープ識別子(%eth0)での指定
@CBR_ATTACH_TOOL=fe80::1:23:456:789a%eth0/STUDIO
- IPv6アドレス(fe80::1:23:456:789a)、スコープ識別子(%5)およびポート番号(2000)での指定
@CBR_ATTACH_TOOL=[fe80::1:23:456:789a%5]:2000/STUDIO
- ホスト名(client-1)およびポート番号(2000)での指定
@CBR_ATTACH_TOOL=client-1:2000/STUDIO
- ポート番号省略の指定(IPv4アドレス)
@CBR_ATTACH_TOOL=192.168.0.1/STUDIO
- ポート番号省略の指定(IPv6アドレス)
@CBR_ATTACH_TOOL=fe80::1:23:456:789a/STUDIO
注意
サーバのOSがLinux(Itanium)の場合、IPv6アドレスを指定することはできません。
リモートデバッグでは、以下の範囲でIPv6アドレスに対応しています。
表9.1 リモートデバッグのIPv6対応
項目 仕様
対応可能なネットワーク 以下の環境に対応しています。
・ IPv4/IPv6 デュアルスタック環境
・ IPv6 のみの環境
使用可能なIPv6アドレス 以下のIPv6 アドレスが使用できます。
・ グローバルユニキャストアドレス(GUA)
・ ユニークローカルアドレス(ULA)
・ リンクローカルアドレス(LLA)
また、IP アドレスのインターフェースID 部は任意をサポートしています。
IPv4/IPv6のアドレス選択 IPv4/IPv6デュアルスタック環境においてはIPv6を優先的に使用します。
以下は、対応していません。
・ IPv4のみまたはIPv6のみの使用限定
・ 優先順位の切り替え
・ IPv6による接続に失敗した場合のIPv4による接続(フォールバック)
IP アドレスの表記 以下のIPv6アドレス表記をサポートしています。
項目 仕様 2. 通常の16進法による表記
3. 表記の単純化ルール(RFC5952)による表記 4. 英字部の大文字表記
5. 英字部の小文字表記 6. 英字部の大小文字混在表記
IPv4/IPv6 デュアルスタックOS 時やIPv4/IPv6 併用時(デュアルスタック時)にIPv4 アドレスを指定する場合は、従来どおりのIPv4 アドレス表記を使用してください。
注意
一定時間ごとに変わる一時アドレス(プライバシ拡張)は、サポートしていません。IP アドレスが変更された場合は、リモートデバッ ガコネクタおよびリモートデバッガの再起動が必要です。
・ “追加パスリスト”には、起動するアプリケーションが動作し始めたときのカレントディレクトリと、起動するアプリケーションの格納ディ レクトリは記述する必要はありません。以下の順序で、デバッグ情報のファイルが検索され、デバッグに利用されます。
1. 追加パスリストの指定順(各パスは、Windowsの場合は“;”で区切って記述してください。Solaris、Linuxの場合は“:”で区切っ て記述してください)
2. アプリケーションが動作し始めたときのカレントディレクトリ 3. 起動するアプリケーションの格納ディレクトリ
環境変数の設定方法に関する詳細は、“NetCOBOL 使用手引書”を参照してください。
環境変数の設定後に、デバッグ対象のアプリケーションを実行すると、リモートデバッガとアプリケーションが接続され、デバッグが可能 になります。
待機状態の解除
アタッチ形式でリモートデバッガを起動し、待機状態となったあとでデバッグを中断する場合は、ウィンドウ右下の をクリックし、表示 された[進行状況]ビューで をクリックしてください。
ローカルPC上のCOBOLアプリケーションのアタッチデバッグ
[構成およびデバッグ]ダイアログボックスの左ペインで[リモートCOBOLアプリケーション]を選択し、表示された起動構成の設定ページ で以下の設定を行うことで、ローカルPC上のCOBOLアプリケーションをアタッチデバッグすることもできます。
ローカルPC上のアプリケーションをアタッチデバッグする場合には、ローカルPC上で環境変数CBR_ATTACH_TOOLを設定します。
以下にローカルPC上のアプリケーションをアタッチデバッグする手順を示します。
1. デバッガにアプリケーションの起動を通知するため、以下の環境変数をローカルPC上で設定します。
@CBR_ATTACH_TOOL=localhost/STUDIO
2. NetCOBOL Studioの[依存]ビューまたは[構造]ビューからCOBOLプロジェクトを選択します。
3. メニューバーから[実行] > [構成およびデバッグ]を選択します。またはツールバーで の をクリックし[構成およびデバッ グ]を選択します。
→ [構成およびデバッグ]ダイアログボックスが表示されます。
4. 左のペインで[リモートCOBOLアプリケーション]を選択します。
5. 左のペイン上の をクリックすると、右のペインに起動構成の設定ページが表示されます。
6. 初期値で[名前]に起動構成名が表示されます。起動構成名は任意の名前に変更することができます。
7. [メイン]タブをクリックし、各設定項目の確認と必要に応じて変更を行います。
項目 説明
プロジェクト名 選択したプロジェクト名が表示されます。
デバッグ方法 [アタッチデバッグ]を選択します。
デバッグ情報ディレクトリ プロジェクトの[プロパティ]ダイアログボックスの[情報]ページの[ロケーション]で表示 されているディレクトリと異なるディレクトリにデバッグ情報ファイルが格納されている 場合、その格納ディレクトリを指定します。
複数のディレクトリを指定する場合には、“;”(セミコロン)で区切って指定します。
8. [デバッグ]ボタンをクリックすると、デバッガが起動し、デバッグするアプリケーション側から起動が通知されるまで待機状態となり
ます。
9. デバッグするCOBOLアプリケーションを実行し、デバッグを開始します。