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

重要:
  • 次の説明はネイティブ コードのみに該当します。
  • Windows では、この製品によって作成されるコア ダンプ ファイルは Microsoft のミニダンプ ファイルです。混合言語アプリケーションがある場合は、このミニダンプ ファイルを使用して他の言語もデバッグできます。

アプリケーションがクラッシュした際に、アプリケーションの状態がコア ダンプ ファイルでディスクに保存されるように設定できます。コア ダンプ ファイルからは、ソース コード内のエラー発生箇所、エラー発生時のメモリの内容、およびその時点で設定されていた変数や式の値がわかります。このコア ダンプ ファイルを使用して問題をデバッグできます。

コア ダンプ デバッグは、COBOL 開発システムがインストールされていない本番環境でアプリケーションの問題が発生した場合に便利です。別の場所でアプリケーションのソース ファイルにアクセスできる限り、コア ダンプ ファイルを生成して利用できます。

コア ダンプ ファイルを使用したデバッグを正確に行うためには、開発環境で、問題の実行可能ファイルの作成に使用した元のソース ファイルおよび .idy ファイルを使用する必要があります。それらを使用できない場合は、ソースが最初のビルドのときと同じ状態 (指令設定、最適化など) であることを確認する必要があります。また、このプロセスでは、本番環境のマシンから開発環境の別のマシンに移動することになる可能性が高いため、アプリケーションによって使用されるサポート ファイル が両方の環境で同じパスにインストールされている必要があります。

必要な .idy ファイルがない場合は、ソースを利用できないと通知されます。

コア ダンプ ファイルの生成

コア ダンプ ファイルは、次のいずれの方法で生成できます。

  1. cblcored.exe ファイルを、製品インストール ディレクトリの bin サブフォルダーから、アプリケーションのメインの実行可能ファイルと同じディレクトリにコピーします。
  2. コマンド ラインで、cblcored.exe を含むディレクトリに移動し、次のように入力します。
    cblcored
    注: cblcored.exe を実行するには、Windows レジストリの現在のユーザーの HKEY_CURRENT_USER キーに対する書き込み権限が必要です。コア ダンプの設定に対する変更を保存するために、ユーティリティに必要な権限があることを確認してください。
  3. [コア ダンプ] リストから、次のいずれか 1 つを選択します。
    • [使用可能 (プロンプト付き)]。コア ダンプの作成時にメッセージ ボックスを表示する場合はこれを選択します。
    • [使用可能 (プロンプトなし)]。コア ダンプの作成時にメッセージ ボックスを表示しない場合はこれを選択します。
    • [使用不能]。コア ダンプが不要な場合はこれを選択します。

    使用可能にするオプションのどちらかを選択すると、次にアプリケーションを実行してエラーが発生した場合、エラー発生時のアプリケーションの状態が cblcore ファイルに保存されます。このファイルは、アプリケーションと同じフォルダーに保存されます。

ランタイム エラーのコア ダンプを生成するようにシステムを構成することもできます。これを行うには、次の手順を使用します。

  1. ランタイム チューナー構成ファイルを作成し、core_on_error チューナーを追加します。

    生成されるコア ダンプ ファイルのデフォルトの名前は cblcore です。別のファイル名を指定するには、core_filename チューナーをランタイム チューナー構成ファイルに追加します。

  2. アプリケーションを実行します。アプリケーションがクラッシュすると、コア ダンプが生成されます。

コア ダンプ ファイルを使用したデバッグ

ネイティブ COBOL プロジェクトを使用してコア ダンプ ファイルをデバッグするには、次の手順を実行します。

注: プロジェクトと、そのコンパイル対象のソースが、元の実行可能ファイルが作成されたときから変更されていないことを確認します。変更されていると、デバッグに使用する .idy ファイルと、最初 (実行可能ファイルがビルドされたとき) に作成されたファイルとの不一致により、デバッグ時に予期しない結果が生じます。
  1. IDE で、[プロジェクト > MyProject のプロパティ] をクリックし、[デバッグ] タブに移動します。
  2. [外部プログラムを起動する] をクリックし、Micro Focus コア ダンプ ファイルの名前を指定します。
    プロジェクトがネイティブ COBOL メインフレーム プロジェクトの場合は、次の手順を実行します。
    • プロジェクトのプロパティの [デバッグ] タブで、[アクティブ設定] を [コア ダンプ] に設定します。
    • [コア ダンプ設定] で、Micro Focus コア ダンプ ファイルの名前を指定します。
注:
  • ジャストインタイム デバッグとコア ダンプの両方を同時に有効にすることはできません。
  • 64 ビットのコア ダンプをデバッグするには、最初に 64 ビットのプロジェクト構成を作成するか、プロジェクトのプロパティの [COBOL] タブでプラットフォーム ターゲットとして x64 を選択する必要があります。
  • cblcored.exeEnterprise Server のファイルの 1 つで、オンサイト デバッグ用に用意されています。適切なライセンスがある場合は、このファイルを再配布できます。
  • IIS のもとで実行されているアプリケーションのコア ダンプを作成するには、コア ダンプ機能を有効にした際に使用したユーザー アカウントと同じアカウントでアプリケーションが実行されている必要があります。たとえば、デフォルトの匿名ログオン アカウントのもとで実行されている CGI または ISAPI アプリケーションでは、コア ダンプは生成されません。