デバッグ構成を使用すると、COBOL アプリケーションのデバッグを制御できます。
既に実行されている別のアプリケーションによって呼びだされたときにアプリケーションをデバッグするには、[COBOL Attach to Process] を使用します。COBOL アプリケーションが実行されるのを待ってから、起動時にそのアプリケーションに接続するには、[COBOL Wait for Application Attachment] を使用します。リモート・アプリケーションは、デバッグ用にコンパイルされている必要があります。
これらの構成に共通するオプションは次のとおりです。
- [COBOL Project]
- デバッグ中に使用されるプロジェクト。
- [Connection Properties]
- プロジェクトまたはリモート・マシン上で実行されているアプリケーションをデバッグする場合は、これらのフィールドに値を入力します。
- [Remote Host]
- リモート・マシンの名前または IP アドレス。
- [Specify the port on which cobdebugremote will listen]
- リモート・マシン上でアプリケーションをデバッグする場合は、cobdebugremote (Windows) または cobdebugremote32 (UNIX) プロセス (64 ビット・プロセスの場合は cobdebugremote64) がそのマシン上で実行している必要があります。
- リモート・マシン上でアプリケーションを開発している場合
- Micro Focus Enterprise Developer UNIX コンポーネント を使用している場合は、デバッグを開始すると、IDE が cobdebugremote (Window
s) または cobdebugremote32 (UNIX) プロセス (64 ビット・プロセスの場合は cobdebugremote64) をリモート・マシン上で自動的に
動します。プロセスの起動時にはランダムなポートが選択されるため、ユーザがポートを選択する必要はありません。ただし、このオプションを選択した場合は、[cobdebugremote port] フィールドで特定のポートを割り当てることができます。ポートを指定すると、プロセスはそのポートで自動的に起動します。
- ローカル・マシン上でアプリケーションを開発し、リモートでデバッグしている場合
- 最初に、cobdebugremote (Windows) または cobdebugremote32 (UNIX) プロセス (64 ビット・プロセスの場合は cobdebugremote64) をコマンド・プロンプトから起動する必要があります。
- プロセスのオプションは次のとおりです。
- オプションなし
- プロセスを起動し、リモート接続のランダム・ポートを開きます。ポート番号はコンソールに表示されます。
- machine=name
- プロセスが実行されているマシンを指定します。stop オプションでのみ有効です。
- port
-
- port=nnnnn
- 接続要求をリスンするために使用するポートを指定します。
- port=nnnnn-yyyyy
- 使用するポートの範囲を指定します。ポート nnnnn を使用している場合は、空きポートが見つかるまで次のポートが試みられます。その範囲内で空きポートが見つからなかった場合は、ユーティリティはエラーを返します。
- repeat
- デバッグ・セッションの完了後に、別の接続のリスンを開始します。オプションを指定しなかった場合、プロセスはデバッグ・セッションの完了後に終了します。
- stop
- ポートでリスンしているプロセスを終了させます。port オプションと併用する必要があります。これは、プロセスが接続を待っている場合にのみ有効です。
オプションなしでプロセスを実行する場合は、コンソールに表示されたポート番号を [Specify the port on which cobdebugremote will listen] フィールドに入力する必要があります。プロセスを実行し、port 値を指定する場合は、代わりにその値を [Specify the port on which cobdebugremote will listen] フィールドに入力します。
- [X Server (DISPLAY)]
- Micro Focus Enterprise Developer UNIX コンポーネント を使用してリモート UNIX マシン上でアプリケーションをデバッグする場合は、ローカル Windows マシン 上でリモート・プログラム出力を表示する X サーバの識別子を入力します。デフォルト値は、client machine name:0.0 です。
- デバッグを行う前に、X サーバが実行されていること、およびリモート・マシンの xhost 構成に正しいアクセス権限があることを確認してください。xhost + コマンドを使用すると、許可されているホストまたはユーザ名のリストに自分のホストまたはユーザ名を追加できます。
- [Debug Options]
- デバッグ・プロセスをさらに制御するには、これらのオプションを使用します。
- デバッグを正しく機能させるには、デバッグ中のアプリケーションが 64 ビットまたはグラフィカルであるときに、それを示す必要があります。
- STOP RUN コマンドが実行されたときに、プログラムのデバッグを停止するのではなく、一時停止してデバッグを継続する場合は、[Suspend at 'stop run'] を選択します。
- 手続き部のエントリ・ポイントが呼び出されたときのみにプログラム・ブレーク・ポイントによって実行が停止するように指定するには、[Program breakpoint on main entry point only] をオンにします。このオプションをオンにしないと (デフォルト設定)、プログラムへのどのエントリ・ポイントでも、また呼び出しからプログラムに戻る時点でも、プログラム・ブレーク・ポイントによって実行が停止します。
- アプリケーションがビルドされたときと同じディレクトリにソース・ファイルが入っている場合にのみブレーク・ポイントをバインドするようにデバッガに指示することができます。
次の設定は、[COBOL Application] デバッグ構成にのみ適用されます。
- [Main Program]
- プロジェクト内のメイン実行ファイルを選択します。これをビルド構成で既に選択している場合は、ビルド構成名を入力するだけで済みます。それ以外の場合は、プロジェクト内のプログラムの場所をブラウズすることができます。
- [Start Options]
- プログラムの起動時にそのプログラムに渡す引数を入力します。また、プロジェクトが明示的にアプリケーションの作業ディレクトリを指定していない場合は、そのディレクトリの場所を示すこともできます。
- [Debug Options]
-
- COBOL コードでコンパイルされた実行可能ファイルをデバッグするには、[Allow debugging of all COBOL target types] を選択します。このオプションを選択しない場合は、.int コードのみがデバッグされます。このタイプのデバッグを選択した場合、COBOL プログラムと COBOL 以外のプログラムが相互に呼び出すプロジェクトをデバッグすることはできません。
- Windows プログラムは、すべてマルチスレッド・ランタイム・システムで実行されます。UNIX プログラムの場合、これと同じことを行うには [Use multi-thread run-time system] を選択します。選択しなかった場合は、シングルスレッド・システムが使用されます。
次の設定は、[COBOL Wait for Application Attachment] デバッグ構成にのみ適用されます。
- [Matching Options]
- プログラムが開始するとデバッガが接続するプログラムを決定します。コードの CBL_DEBUG_START 文で指定された識別子のプログラムや特定のディレクトリに含まれているデバッグ可能なプログラムなど、任意のプログラムを選択できます。
- [Return to waiting state when debugger disconnects]
- これを選択すると、デバッガは、デバッグ可能なプログラムがデバッガに再接続するまで待機します。これを選択しなかった場合、デバッグはプログラムからの切断時に終了します。