ページの先頭行へ戻る
NetCOBOL V12.1 NetCOBOL Studio ユーザーズガイド
FUJITSU Software

9.6.2 アタッチデバッグ

アタッチデバッグは、サーバ側で実行したCOBOLアプリケーションからクライアント側のリモートデバッガを起動し、デバッグを開始する方法です。アタッチデバッグは、以下の順で行います。

  1. クライアント側でリモートデバッガを起動します。(クライアント側で起動したリモートデバッガは、サーバ側でCOBOLアプリケーションが実行されるまで待機状態となります。)

    クライアント側でリモートデバッガが起動されると、クライアント側のリモートデバッガコネクタが自動的に起動されます。

  2. サーバ側でCOBOLアプリケーションを実行します。アプリケーションを実行する前に、アプリケーションの実行が開始されたことをクライアント側のリモートデバッガに通知するための環境変数を設定しておきます。

注意

複数のNetCOBOL Studioがアタッチデバッグの待機状態の場合、アタッチデバッグの動作結果は保証されません。

9.6.2.1 リモートデバッガの起動

以下の手順でリモートデバッガを起動します。

  1. [依存]ビューまたは[構造]ビューからCOBOLプロジェクトを選択します。

  2. メニューバーから[実行(R)] > [デバッグの構成(B)]を選択します。またはツールバーでをクリックし[デバッグの構成]を選択します。

    → [デバッグ構成]ダイアログボックスが表示されます。

  3. 左のペインで[リモートCOBOLアプリケーション]を選択します。

  4. 左のペイン上のをクリックすると、右のペインに起動構成の設定ページが表示されます。

  5. 初期値で[名前]に起動構成名が表示されます。起動構成名は任意の名前に変更することができます。

  6. [メイン]タブをクリックし、各設定項目の確認と必要に応じて変更を行います。

    表9.25 [メイン]タブ(アタッチデバッグ)

    項目

    説明

    プロジェクト名

    選択したプロジェクト名が表示されます。

    デバッグ方法

    [アタッチデバッグ]を選択します。

    デバッグ情報ディレクトリ

    プロジェクトの[プロパティー]ダイアログボックスの[リモート開発]ページの[サーバディレクトリ]で指定したディレクトリと異なるディレクトリにデバッグ情報ファイルが格納されている場合、その格納ディレクトリを指定します。

    複数のディレクトリを指定する場合には次のように指定します。

    • サーバ側OSがSolaris、Linux(64)、Linux(Itanium)の場合は“:”(コロン)で区切って指定します。

    • サーバ側OSがWindowsの場合は“;”(セミコロン)で区切って指定します。

  7. [デバッグ]を選択すると、デバッガが起動され、デバッグするアプリケーションの起動が通知されるまで待機状態となります。一度デバッグ起動した起動構成は、[実行] > [ヒストリのデバッグ]およびツールバーのショートカットに登録され、そこから再度起動することができます。

注意

サーバがSolarisまたはLinuxであり、かつ、デバッグ対象のCOBOLアプリケーションが使用するダイナミックリンクライブラリが実行ファイルと異なるディレクトリに格納されている場合は、ダイナミックリンクライブラリのデバッグ情報ファイル(.svd)を実行ファイルの格納ディレクトリにコピーしてからデバッグを開始してください。

ポイント

[依存]ビューまたは[構造]ビューでプロジェクトを選択し、メニューバーから[実行] > [デバッグ] > [リモートCOBOLアプリケーション]を選択することにより、デフォルトの設定でデバッガを起動することができます。

9.6.2.2 クライアント側リモートデバッガコネクタ

アタッチ形式のリモートデバッグでは、サーバ側のデバッガからの指示を監視するリモートデバッガコネクタは、リモートデバッガの起動時に、クライアント上で自動的に起動されます。クライアント側リモートデバッガコネクタが起動されると、タスクトレイにアイコンが表示されます。

注意

リモートデバッガコネクタはデバッガ終了時に自動終了しないため、リモートデバッグを終了した場合、リモートデバッガコネクタも終了させる必要があります。リモートデバッガコネクタを終了させるには、アイコンのコンテキストメニューから[終了]を選択してください。

[リモートデバッガコネクタ]ダイアログボックス

以下に、[リモートデバッガコネクタ]ダイアログボックスをページごとに説明します。

表9.26 [接続情報]ページ

項目

説明

IPアドレス

リモートデバッガコネクタが動作しているコンピューターのIPアドレスまたはホスト名が表示されます。

使用中のポート番号

リモートデバッガコネクタが監視しているポート番号が表示されます。

[使用中のポート番号]の下のスタティックテキストボックス

クライアント側のリモートデバッガコネクタの動作状態を表示します。

[ポート番号の変更]ボタン

[ポート番号の変更]ダイアログボックスを表示します。

表9.27 [接続制限]ページ

項目

説明

接続を許可する対象

すべての接続を許可する

すべてのコンピューターからの接続を許可します。

許可する対象

接続を許可する接続対象を表示します。

追加、編集、削除の各ボタンを使って、接続を許可する対象を設定できます。

[追加]ボタン

接続を拒否する対象を追加するために使用します。

[編集]ボタン

接続を拒否する対象を編集するために使用します。

[削除]ボタン

接続を拒否する対象を削除するために使用します。

接続を許可する

すべての接続を拒否する

すべてのコンピューターからの接続を拒否します。

拒否する対象

接続を拒否する接続対象を表示します。

追加、編集、削除の各ボタンを使って、接続を拒否する対象を設定できます。

[追加]ボタン

接続を拒否する対象を追加するために使用します。

[編集]ボタン

接続を拒否する対象を編集するために使用します。

[削除]ボタン

接続を拒否する対象を削除するために使用します。

[リセット]ボタン

接続を許可する対象と接続を拒否する対象に設定された接続対象をすべて削除して、ダイアログボックスの内容を初期状態に戻します。

なお、代表的な指定方法については、“9.6.2.3 リモートデバッグを許可するコンピューターを制限する”を参照してください。

9.6.2.3 リモートデバッグを許可するコンピューターを制限する

リモートデバッグを許可するコンピューターを制限する方法を“表9.28 接続制限の代表例”に示します。表ではIPv4アドレスを使用していますが、同様にIPv6アドレスを指定することもできます。[参照]“表9.30 リモートデバッグのIPv6対応

なお、表では、サーバ側のリモートデバッガコネクタをサーバ側、クライアント側のリモートデバッガコネクタをクライアント側と表現しています。

また、サーバ側では、接続制限ファイルを使用します。[参照]“接続制限ファイルの形式

クライアント側では、リモートデバッガコネクタの[接続制限]ページに設定を行います。[参照]“[リモートデバッガコネクタ]ダイアログボックス

表9.28 接続制限の代表例

指定形式

サーバ側

クライアント側

特定の接続対象のみを許可する。

接続を許可するIPアドレスが、以下の場合

192.168.0.1

ALLOW=192.168.0.1

DENY=ALL

[接続を許可する対象]の設定

  • [許可する対象]を選択します。

  • エディットボックスに、以下の設定を行います。

    192.168.0.1

[接続を拒否する対象]の設定

  • [すべての接続を拒否する]を選択します。

複数の接続対象からの接続を許可する。

接続を許可するIPアドレスが以下の場合

192.168.0.1
192.168.0.2
192.168.0.10

ALLOW=192.168.0.1 \

192.168.0.2 192.168.0.10

DENY=ALL

[接続を許可する対象]の設定

  • [許可する対象]を選択します。

  • エディットボックスに、以下の設定を行います。

    192.168.0.1
    192.168.0.2
    192.168.0.10

[接続を拒否する対象]の設定

  • [すべての接続を拒否する]を選択します。

特定範囲の接続を許可する。

接続を許可するIPアドレスの範囲が以下の場合

下限:192.168.0.1
上限:192.168.0.10

ALLOW=192.168.0.1-192.168.0.10

DENY=ALL

[接続を許可する対象]の設定

  • [許可する対象]を選択します。

  • エディットボックスに、以下の設定を行います。

    192.168.0.1-192.168.0.10

[接続を拒否する対象]の設定

  • [すべての接続を拒否する]を選択します。

オクテッド単位に接続を許可する。

接続を許可するIPアドレスの範囲が以下の場合

下限:192.168.0.0
上限:192.168.0.255

ALLOW=192.168.0.*

DENY=ALL

[接続を許可する対象]の設定

  • [許可する対象]を選択します。

  • エディットボックスに、以下の設定を行います。

    192.168.0.*

[接続を拒否する対象]の設定

  • [すべての接続を拒否する]を選択します。

すべてのコンピューターからの接続を許可する。

ALLOW=ALL

DENY=ALL

[接続を許可する対象]の設定

  • [すべての接続を許可する]を選択します。

[接続を拒否する対象]の設定

  • [すべての接続を拒否する]を選択します。

9.6.2.4 サーバ側アプリケーションの実行

サーバ側では以下を行います。

設定する環境変数は以下のとおりです。

表9.29 リモートデバッガに接続するための環境変数

サーバOS

環境変数

Windows(64)

@CBR_ATTACH_TOOL=接続先/STUDIO 追加パスリスト

Solaris

CBR_ATTACH_TOOL=接続先/STUDIO 追加パスリスト

Solaris(64)

Linux(Itanium)

Linux(64)

環境変数の設定方法に関する詳細は、“NetCOBOL ユーザーズガイド”を参照してください。

環境変数の設定後に、デバッグ対象のアプリケーションを実行すると、リモートデバッガとアプリケーションが接続され、デバッグが可能になります。

待機状態の解除

アタッチ形式でリモートデバッガを起動し、待機状態となったあとでデバッグを中断する場合は、ウィンドウ右下のをクリックし、表示された[進行状況]ビューでをクリックしてください。

クライアント上のCOBOLアプリケーションアタッチデバッグ

[デバッグ構成]ダイアログボックスの左ペインで[リモートCOBOLアプリケーション]を選択し、表示された起動構成の設定ページで以下の設定を行うことで、クライアント上のCOBOLアプリケーションをアタッチデバッグすることもできます。

クライアント上のアプリケーションをアタッチデバッグする場合には、クライアント上で環境変数CBR_ATTACH_TOOLを設定します。

以下にクライアント上のアプリケーションをアタッチデバッグする手順を示します。

  1. デバッガにアプリケーションの起動を通知するため、以下の環境変数をクライアント上で設定します。

    @CBR_ATTACH_TOOL=localhost/STUDIO
  2. NetCOBOL Studioの[依存]ビューまたは[構造]ビューからCOBOLプロジェクトを選択します。

  3. メニューバーから[実行(R)] > [デバッグの構成(B)]を選択します。またはツールバーでをクリックし[デバッグの構成(B)]を選択します。

    → [デバッグ構成]ダイアログボックスが表示されます。

  4. 左のペインで[リモートCOBOLアプリケーション]を選択します。

  5. 左のペイン上のをクリックすると、右のペインに起動構成の設定ページが表示されます。

  6. 初期値で[名前]に起動構成名が表示されます。起動構成名は任意の名前に変更することができます。

  7. [メイン]タブをクリックし、各設定項目の確認と必要に応じて変更を行います。

    表9.31 [メイン]タブ(クライアント上のアプリケーションのアタッチデバッグ)

    項目

    説明

    プロジェクト名

    選択したプロジェクト名が表示されます。

    デバッグ方法

    [アタッチデバッグ]を選択します。

    デバッグ情報ディレクトリ

    プロジェクトの[プロパティー]ダイアログボックスの[リソース]ページの[ロケーション]で表示されているディレクトリと異なるディレクトリにデバッグ情報ファイルが格納されている場合、その格納ディレクトリを指定します。

    複数のディレクトリを指定する場合には、“;”(セミコロン)で区切って指定します。

  8. [デバッグ(D)]ボタンをクリックすると、デバッガが起動し、デバッグするアプリケーション側から起動が通知されるまで待機状態となります。

  9. デバッグするCOBOLアプリケーションを実行し、デバッグを開始します。