コア ダンプの準備

注: このトピックは、Linux ベースのプラットフォームにのみ適用されます。

Linux ベースのプラットフォームでのセキュリティ強化により、必要なときにコア ダンプが生成されないことがあります。core_on_error=1、core_on_error=2、または signal_regime チューナーを使用している場合、セキュリティをオーバーライドしてコア ダンプが必要なアプリケーションを実行するには、次の手順を実行する必要があります(core_on_error=3 を使用している場合は、このセキュリティ拡張機能に関係なく、常にコア ダンプ ファイルが作成されます。代わりに、「コア ダンプを作成するには」の説明に従ってください)。

注: 次のコマンドは、root 権限で実行する必要があります。
  1. コア ダンプ ファイル全体が作成されなくなる可能性のあるサイズ制限を無効にします。
    ulimit -c unlimited
    ヒント: サイズ制限の設定が再起動後も維持されるようにするには、該当する各ユーザーについて、<user> を指定した次の行を /etc/security/limits.conf に追加します。
    <user>    soft    core    unlimited
    <user>    hard    core    unlimited
  2. コア ダンプを作成する形式および場所を指定します。コア ダンプ ファイルは、アプリケーションと同じディレクトリに core.process-id の形式で作成されます。
    echo "core.%p"> /proc/sys/kernel/core_pattern
    注: これは、現在のセッションに対してのみ設定されます。再起動後に形式および場所が維持されるようにするには、次の行を /etc/sysctl.conf 構成ファイルに追加します。
    kernel.core_pattern=core.%p
  3. コア ダンプ ファイルの生成を妨げている AppArmor アプリケーション (SUSE プラットフォーム)、Automatic Bug Reporting Tool (Red Hat プラットフォーム)、または Apport (Ubuntu プラットフォーム) を無効にします。

    SUSE:

    rcapparmor stop

    Red Hat:

    chkconfig abrt off

    Ubuntu:

    systemctl stop apport.service 
    systemctl disable apport.service
  4. setuid および setgid によって権限が付与されたプロセスからの情報がコア ダンプに含まれていることを確認します。
    sysctl -w kernel.suid_dumpable=2
    注: この権限のオーバーライドは、現在のセッションに対してのみ設定されます。再起動後も維持されるようにするには、次の行を /etc/sysctl.conf 構成ファイルに追加します。
    kernel.suid_dumpable=2

ランタイム システムが未処理の信号を受信したときにコア ダンプ ファイルがアプリケーションと同じディレクトリに作成されるように、必要に応じてランタイム環境を構成します。アプリケーションがコア ダンプを呼び出すようにプログラム (CBL_CREATE_CORE) で設定されている場合は、そのままアプリケーションを実行できます。