Di mana ubuntu 14.04 menjatuhkan file inti?

20

Saya telah mengaktifkan ukuran file inti tak terbatas menggunakan ulimit:

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

Saya percaya saya telah memicu dump inti tetapi saya tidak dapat menemukan file inti di rumah saya, var / ... dll ...

Apakah Anda tahu di mana Ubuntu mengkonfigurasi lokasi dump inti?

jcalfee314
sumber
@ djf OP tidak menentukan program apa yang menyebabkan dump inti. Ini mungkin bukan kode pemrogram. Mungkin Persatuan untuk semua yang kita tahu.
Rich Homolka
1
Bagaimana ini pertanyaan SuperUser? Ini tentang menjalankan debugger yang hanya digunakan oleh programmer. Ini harus dimigrasi kembali ke SO.
Homer6

Jawaban:

7

Saya pikir ini lebih merupakan hal kernel Linux daripada hal Ubuntu tertentu. Periksa

cat /proc/sys/kernel/core_pattern

Lihat halaman man file inti

Homolka yang kaya
sumber
13
Itu tidak memberi tahu Anda di mana ia meletakkan file. Pertanyaan itu bernama Ubuntu 14.04. Tidak jelas sama sekali dengan mengikuti perintah di /proc/sys/kernel/core_patternmana orang akan menemukan file.
jcalfee314
1
Bagi saya, core_pattern kernel pseudofile mereferensikan sebuah program yang disebut 'apport' ... yang tidak memiliki halaman manual atau output yang sangat membantu. Jadi masih mencari core yang dibuang. :(
gojomo
1
apport adalah standar desktop handler inti linux yang dilaporkan kembali ke distro Anda.
kkron
Bagaimana cara membuka folder ini? cd /usr/share/apport/apporttidak bekerja
mrgloom
32

Secara default, kernel Ubuntu dikonfigurasikan untuk menggunakan apport untuk login coredumps. Anda dapat menimpa ini dengan menimpa /proc/sys/kernel/core_pattern, periksa bagian "Penamaan file dump inti" man coreuntuk detailnya. Sebagai contoh:

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

Apport menulis dump inti ke /var/crash/_path_to_program.userid.crash, TETAPI itu hanya akan melakukannya untuk aplikasi yang diinstal dari repositori apt ubuntu utama.

Info lebih lanjut tentang apport: https://wiki.ubuntu.com/Apport

maccam94
sumber
Untuk menulis dump inti untuk program non-paket juga, buat file bernama ~ / .config / apport / settings dengan isi berikut: [main] unpackaged = true
greuze
Memodifikasi / proc / sys / kernel / core_pattern tidak berfungsi untuk saya di Ubuntu 18.04
greuze
1

Di Ubuntu 16.04.3 LTS, dump inti saya berlokasi di:

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

Jadi, untuk menjalankannya gdb, Anda dapat menjalankan:

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

Homer6
sumber