コア・ダンプを使用したデバッグ

アプリケーションのクラッシュ時にアプリケーションの状態をコア・ダンプ・ファイルでディスクに保存するように準備することができます。ダンプ・ファイルはソース・コード内のエラー発生箇所とエラー発生時の変数の値、式、およびメモリの内容を示しているため、このファイルは問題のデバッグに役立ちます。

コア・ダンプは、COBOL 開発システムがインストールされていなくても生成できます。リリースされたアプリケーションを現場でデバッグしていて、エンタープライズ・サーバ環境しかインストールされていない場合は、これが大いに役立ちます。

コア・ダンプを最大限に活用するには、ソース・ファイルと .idy ファイルが必要です。必要なファイルがない場合は、エラーが発生したソース・ファイルまたはプログラムの名前が示されます。

コア・ダンプを作成するには

  1. ランタイム調整可能変数ファイルを作成します。
  2. core_on_error 調整可能変数のエントリをそのファイルに含めます。デフォルトでは、コア・ダンプが発生すると cblcore という名前でコア・ダンプが保存されますが、この名前は core_filename 調整可能変数を含めることで変更できます。次に例を示します。
    set core_on_error=3
    set core_filename="coredumptest.%p%t_%d"
    core_on_error パラメータ
    filename コア・ファイルの生成時に作成されるファイルの名前 (core_on_error 調整可能変数の値を 3 に設定した場合)。filename に調整可能変数文字列が含まれている場合は、次のように文字列が置換されます。
    %%
    単一の %
    %d
    プログラムにエラーが発生したときの日付 (yyyymmdd フォーマット)
    %f
    エラーが発生したプログラムのベース名
    %p
    エラーが発生したプログラムのプロセス ID
    %t
    プログラムにエラーが発生したときの時刻 (hhmmss フォーマット)
    core_filename パラメータ
    重要: この調整可能変数は、core_on_error を 3 に設定した場合にのみ使用できます。
    filename コア・ファイルの生成時に作成されるファイルの名前 (core_on_error 調整可能変数の値を 3 に設定した場合)。filename に調整可能変数文字列が含まれている場合は、次のように文字列が置換されます。
    %%
    単一の %
    %d
    プログラムにエラーが発生したときの日付 (yyyymmdd フォーマット)
    %f
    エラーが発生したプログラムのベース名
    %p
    エラーが発生したプログラムのプロセス ID
    %t
    プログラムにエラーが発生したときの時刻 (hhmmss フォーマット)
  3. COBCONFIG_ (Windows) または COBCONFIG (UNIX) 環境変数を Eclipse プロジェクトに追加し、それを調整可能変数ファイルの場所に設定します。これを行うには、プロジェクトの [Properties] ダイアログ・ボックスを開き、[Micro Focus COBOL > Run-time Configuration > Environment Variables] を選択して、[Add] をクリックします。

コア・ダンプをデバッグするには

  1. [Run > Debug Configurations] をクリックします。
  2. [COBOL Core Dump] をクリックします。
  3. 必要な構成を選択するか、または新しい構成の名前を入力します。
  4. [General] タブで、次の情報を入力します。
    [COBOL Project]
    デバッグ中に使用されるプロジェクト。
    [Core Dump File]
    コア・ダンプの保存場所を入力します。ディレクトリだけを指定して、コア・ダンプのファイル名を指定しない場合は、デバッガの起動時にファイル名の入力を促されます。デフォルトのファイル名は cblcore ですが、ランタイム調整可能変数 core_filename を使用して変更することができます。
    [Working Directory]
    作業ディレクトリを特定します。これは、コア・ダンプ・ファイルを保存するように選択したディレクトリに自動的に設定できます。
  5. [Source] タブで、ソース・ファイルの場所が定義されていることを確認します。
  6. [Debug Symbols] タブで、COBOL シンボル (.idy) ファイルの場所を指定します。
  7. [Debug] をクリックします。

コア・ダンプ・ファイルがロードされると、[Debug] パースペクティブが表示されます。これにより、コア・ダンプが作成されたポイントでアプリケーションの状態を確認できます。実行中の文はエディタ内でハイライトされ、呼び出しスタックは [Debug] ビューに表示されます。アプリケーションは実際には実行されていないため、ステップ機能や再開機能などの実行機能は無効になります。

注: (Windows 環境にのみ適用されます)
  • ジャストインタイム・デバッグとコア・ダンプの両方を同時に有効にすることはできません。
  • 64 ビットのコア・ダンプをデバッグするには、プロジェクトが 64 ビット用にビルドされていることを最初に確認しておく必要があります。これを行うには、[Project Properties] を開いて [64-bit] を選択します。
  • IIS のもとで実行されているアプリケーションのコア・ダンプを作成するには、コア・ダンプ機能を有効にした際に使用したユーザ・アカウントと同じアカウントでアプリケーションが実行されている必要があります。例えば、デフォルトの匿名ログオン・アカウントのもとで実行されている CGI または ISAPI アプリケーションでは、コア・ダンプは生成されません。