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


20

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

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

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

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


@djf OPは、コアダンプを引き起こしているプログラムを指定しませんでした。プログラマーのコードではないかもしれません。私たちが知っているすべての人にとって、それはUnityかもしれません。
リッチホモルカ

1
これはスーパーユーザーの質問ですか?これは、プログラマーのみが使用するデバッガーの実行に関するものです。これをSOに戻す必要があります。
ホーマー

回答:


7

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

cat /proc/sys/kernel/core_pattern

チェックアウトコアファイルのmanページを


13
ファイルをどこに置くかはわかりません。Ubuntu 14.04という名前の質問。/proc/sys/kernel/core_patternファイルを見つける場所でコマンドを実行しても、明確ではありません。
jcalfee314

1
私にとって、そのcore_patternカーネル疑似ファイルは、「apport」というプログラムを参照しています...これには、マニュアルページも有用な出力もありません。だから、まだダンプされたコアを探しています。:(
gojomo

1
apportは、通常ディストリビューションに報告する標準のLinuxデスクトップコアハンドラです。
kkron

このフォルダを開く方法は?cd /usr/share/apport/apport動作しません。
mrgloom

32

デフォルトでは、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


非パッケージプログラムのコアダンプも書き込むには、次の内容で〜/ .config / apport / settingsという名前のファイルを作成します。 [main]
unpackaged

変更は、/ proc / sys / kernel / core_patternは、 Ubuntuの18.04で私のために仕事はしません
グルーズ

1

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.