web-dev-qa-db-ja.com

ubuntu 14.04はどこにコアファイルをドロップしますか?

Ulimitを使用して無制限のコアファイルサイズを有効にしました。

ulimit -a
core file size          (blocks, -c) unlimited
...

コアダンプをトリガーしたと思いますが、自分の家、var/...などでコアファイルを見つけることができません。

Ubuntuがコアダンプの場所を構成する場所を知っていますか?

19
jcalfee314

これは特定のUbuntuのものよりもLinuxカーネルのものだと思います。チェックアウト

cat /proc/sys/kernel/core_pattern

コアファイルのマニュアルページをチェックしてください

6
Rich Homolka

デフォルトでは、Ubuntuカーネルはapportを使用してコアダンプを記録するように設定されています。これを上書きするには、/proc/sys/kernel/core_patternを上書きします。詳細については、man coreの「コアダンプファイルの命名」セクションを確認してください。例えば:

echo '/tmp/core.%e.%p.%t' | Sudo tee /proc/sys/kernel/core_pattern

Apportはコアダンプを/var/crash/_path_to_program.userid.crashに書き込みますが、メインのubuntu aptリポジトリからインストールされたアプリケーションに対してのみ書き込みを行います。

Apportの詳細: https://wiki.ubuntu.com/Apport

31
maccam94

Ubuntu 16.04.3 LTSでは、私のコアダンプは次の場所にあります。

/var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

したがって、gdbで実行するには、次のコマンドを実行します。

apt install gdb gdb /path/to/your/binary/application-name /var/lib/systemd/coredump/core.application-name.0.24d47e89526c4c7e90953998d2c33d1e.19672.1516049424000000000000

1
Homer6