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?


@ 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


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


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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.