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

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

私のLinuxアプリケーションの1つがクラッシュする理由を見つけようとしています。しかし、コアはどこに行ったのかわかりません。

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

どんなアイデアがありますか?

答え1

システム使用量システム通常、コアをダンプするように構成されます。

/var/lib/systemd/coredump/

このcoredumpctlコマンドを使用してコアダンプを一覧表示できます。また、見ることができますsystemdに移行した後、コアダンプはありません。

答え2

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

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

コアダンプを作成する必要がありますが、場所がわからない場合は、プロセスを再起動し(すぐに競合しない場合)、「プロセスIDはls -l /proc/$pid/cwdどこにありますか?」を実行して作業ディレクトリを確認できます。$pidリンクは、プロセスの現在の作業ディレクトリを指します。コアダンプが発生する可能性が高い。それ以外の場合は、findシステム全体で実行する必要があります...

関連情報