web-dev-qa-db-ja.com

Linuxアプリケーションのクラッシュによって生成されたコアファイルはどこで検索しますか?

Linuxアプリケーションのクラッシュの原因を調べようとしています。しかし、コアがどこに行くのか私にはわかりません。

cat /proc/sys/kernel/core_pattern
core.%e.%p

何か案が?

20
dcds

コアダンプは、クラッシュ時にプロセスの現在のディレクトリに書き込まれます。

もちろん、コアダンプを有効にする必要があります。デフォルトでは、通常は無効になっています。 ulimit -cの出力を確認します。0の場合、コアファイルは書き込まれません。 ulimit -c unlimitedを実行してコアダンプを有効にします。これは、そのプロセスによって開始されたプロセスによって継承されるプロセスごとの設定です。

コアダンプが生成されたはずであるのに場所がわからない場合は、プロセスを再度開始し(すぐにクラッシュしない場合)、ls -l /proc/$pid/cwd where $pidを実行して作業ディレクトリを確認します。プロセスのプロセスIDです。そのリンクは、そのプロセスの現在の作業ディレクトリを指します。コアダンプが存在する可能性があります。そうでない場合は、システム全体でfindを実行する必要があります...

24
wurtel

systemdを使用するシステムは通常、コアをダンプするように設定されています

/var/lib/systemd/coredump/

coredumpctlコマンドを使用して、コアダンプを一覧表示できます。参照 no-more-coredumps-after-migrating-to-systemd

20
StefanQ