はい、そうです。 /proc/sys/kernel/core_pattern
を変更できます コアファイルの生成に使用されるパス名を定義します。詳細については、man core
を参照してください
例:
echo '/tmp/core_%e.%p' | sudo tee /proc/sys/kernel/core_pattern # `tee' instead of > so that
# opening happens in the
# elevated process
今後のすべてのコア ダンプは /tmp
で生成されます core_[program].[pid]
という名前にする
受け入れられた回答の指示に従う前に、 /proc/sys/kernel/core_pattern
の内容を確認することをお勧めします Redhat abrt システムが使用されているかどうかを確認します。
-> cat /proc/sys/kernel/core_pattern
|/usr/libexec/abrt-hook-ccpp %s %c %p %u %g %t e
それが使用されている場合は、コア ファイルを管理するためのかなり広範なスキームがすでに存在し、それをオーバーライドする前に理解しておく必要があります。
要約すると、
<オール>/var/spool/abrt/
abrt-gui
で開始される GUI があります /etc/abrt/abrt-action-save-package-data.conf
これを使用する際の一般的な障害の 1 つは、構成ファイルの次の行を変更することです:
ProcessUnpackaged = no
自作プロセスからコア ファイルをキャプチャするには、これを yes に変更します。そうしないと、パッケージ マネージャーによってインストールされたプログラムからコア ファイルのみがキャプチャされます。
[コアダンプの使い方に答える編集] コア ダンプを調べるには、次のようにします。
cd /var/spool/abrt/XXXXXXX
gdb $(cat executable) coredump
そのためのより良い方法があるかもしれませんが、gdb は私によく役立ったので、他の方法は探していません。 XXXXXXX をコアダンプ ファイルを含むフォルダーに置き換えるだけです。 gdb コマンドは、カット アンド ペーストの準備ができています。
参照:
Redhat ブック
CentOS フォーラム