[COBOL Application]、[COBOL Attach to Process]、[COBOL Wait for Application Attachment]

すでに実行されている別のアプリケーションによって呼び出されたときにアプリケーションをデバッグするには、[COBOL Attach to Process] を使用します。COBOL アプリケーションが実行されるのを待ってから、起動時にそのアプリケーションにアタッチするには、[COBOL Wait for Application Attachment] を使用します。リモート アプリケーションは、デバッグ用にコンパイルされている必要があります。

[General] タブ

[Debug Configurations] ダイアログ ボックスの [General] タブのオプションのうち、これらの構成に共通のものは次のとおりです。

[COBOL Project]
デバッグ中に使用されるプロジェクトです。
[Connection Properties]
プロジェクトまたはリモート マシン上で実行されているアプリケーションをデバッグする場合は、これらのフィールドに値を入力します。
[Remote Host]
リモート マシンの名前または IP アドレス。
[Specify the port on which cobdebugremote process will listen on the remote host]
リモート マシン上でアプリケーションをデバッグする場合は、cobdebugremote(Windows) または cobdebugremote32(UNIX) プロセス (64 ビット プロセスの場合は cobdebugremote64) がそのマシン上で実行している必要があります。
リモート マシン上でアプリケーションを開発している場合
Visual COBOL Development Hubを使用している場合は、デバッグを開始すると、IDE が cobdebugremote(Windows) または cobdebugremote32(UNIX) プロセス (64 ビット プロセスの場合は cobdebugremote64) をリモート マシン上で自動的に起動します。プロセスの起動時にはランダムなポートが選択されるため、ユーザーがポートを選択する必要はありません。ただし、このオプションを選択した場合は、[cobdebugremote port] フィールドで特定のポートを割り当てることができます。ポートを指定すると、プロセスはそのポートで自動的に起動します。
ローカル マシン上でアプリケーションを開発し、リモートでデバッグしている場合
最初に、cobdebugremote(Windows) または cobdebugremote32(UNIX) プロセス (64 ビット プロセスの場合は cobdebugremote64) をコマンド プロンプトから起動する必要があります。
プロセスのオプションは次のとおりです。
no options
Starts the process and opens a random port for remote connections. The port number is displayed in the console.
machine=name
Specify the machine that the process is running on. Only valid with the stop option.
port
port=nnnnn
Specify the port to use to listen for connection requests.
port=nnnnn-yyyyy
Specify the range of ports to use. If port nnnnn is in use, the next port is tried until a free port is found. If no free ports are found in the range, the utility returns an error.
注: You must enter the same number you set as the port option in the cobdebugremote port field of your debug configuration.
repeat
After the debug session has been completed, start listening for another connection. If no option is specified, the process exits after the debug session has completed.
stop
Causes the process that is listening on the port to exit. Must be used with the port option. This is only valid when the process is waiting for a connection.
オプションなしでプロセスを実行する場合は、コンソールに表示されたポート番号を [cobdebugremote port] フィールドに入力する必要があります。
[X Server (DISPLAY)]
Visual COBOL Development Hubを使用してリモート 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]
プログラムの起動時にそのプログラムに渡す引数を入力します。また、プロジェクトが明示的にアプリケーションの作業ディレクトリを指定していない場合は、そのディレクトリの場所を示すこともできます。
[Run Options]
アプリケーション端末が実行完了後に自動的に閉じないようにするには、[Pause after running the application] をオンにします。このオプションを使用すると、端末の出力を確認する時間を確保できます。端末を閉じるには、Enter を押します。
[Debug Options]
  • COBOL コードでコンパイルされた実行可能ファイルをデバッグするには、[Allow debugging of all COBOL target types] を選択します。このオプションを選択しない場合は、.int コードのみがデバッグされます。このタイプのデバッグを選択した場合、COBOL プログラムと COBOL 以外のプログラムが相互に呼び出す非 COBOL プロジェクトをデバッグすることはできません。
  • すべての Windows プログラムはマルチスレッド ランタイム システムで実行されます。UNIX プログラムの場合、これと同じことを行うには [Use multi-thread run-time system] を選択します。選択しなかった場合は、シングルスレッド システムが使用されます。
次の設定は、[COBOL Wait for Application Attachment] デバッグ構成にのみ適用されます。
[Matching Options]
プログラムが開始するとデバッガーがアタッチするプログラムを指定します。
  • [Any] - デバッグが有効になっているすべてのプロセスにアタッチします。たとえば、環境変数 COBSW=+A が使用されている場合や、CBL_DEBUG_START が呼び出された場合です。
    注: このオプションを使用できるのは、Windows で実行されているアプリケーションをデバッグする場合だけです。
  • [Program identifier] - アタッチするプログラムの identifier を指定します。これと一致する identifier が、デバッグ対象のアプリケーションによって呼び出される CBL_DEBUG_START ライブラリ ルーチンにパラメーターとして渡される必要があります。詳細については、「CBL_DEBUG_START」を参照してください。
  • [Executables stored in directory]:
    • Windows プラットフォームでは、プロセスを開始するために使用されるメイン実行可能ファイルが含まれているディレクトリを指定します。
    • UNIX プラットフォームでは、プロセスの現在のディレクトリを指定します。
[Return to waiting state when debugger disconnects]
これを選択すると、デバッガーは、デバッグ可能なプログラムがデバッガーに再びアタッチするまで待機します。これを選択しなかった場合、デバッグはプログラムからの切断時に終了します。

[Source] タブ

[Debug Configurations] ダイアログ ボックスの [Source] タブのオプションのうち、これらの構成に共通のものは次のとおりです。

[Source Lookup Path]
デバッガーがソース ファイルを検索する場所および順序を指定できます。

場所を追加するには [Add] をクリックします。

[COBOL Project]
検索するプロジェクトを選択する場合にクリックします。プロジェクトのプロパティの [Micro Focus > Build Path] タブで指定されているフォルダーや依存プロジェクトも検索されます。
[Environment Variable]
検索するフォルダーが含まれている変数を選択する場合にクリックします。
[File System Directory]
ワークスペースの外部に存在する可能性がある特定のファイル システム フォルダーを検索するように指定する場合にクリックします。
[Paths From Debugger Information Files]
.idy ファイルに指定されているパスを使用してソース ファイルを見つける場合にクリックします。このパスは、プログラムのコンパイル時に格納されます。ソース ファイルは、ワークスペースの外部にあってもかまいません。したがって、ソース ファイルが含まれているプロジェクトをソース検索パスに追加する必要はありません。
[Project]
特定のプロジェクトのフォルダーを検索する場合にクリックします。
[Remote File System Directory]
リモート プロジェクトのホスト上にある特定のリモート ファイル システム フォルダーを指定する場合にクリックします。このオプションを使用できるのは、リモート プロジェクトがセットアップされていて、[General] タブの [COBOL Project] フィールドで選択されている場合だけです。
[Working Set]
ワーキング セットで定義されているすべての表示可能なプロジェクトのソース検索パスを追加する場合にクリックします。詳細については、「Working Sets」を参照してください。
[Workspace]
現在のワークスペースのすべてのフォルダーを検索する場合にクリックします。
[Workspace Folder]
ワークスペースの特定のフォルダーをソース検索パスとして指定する場合にクリックします。