Ketika saya menjalankan program yang saya kerjakan, itu gagal dengan pesan berikut:
...
Aborted (core dumped)
Namun, tidak ada dump inti yang dibuat. Core dump sudah ditulis sebelumnya, dan saya tidak ingat bahwa saya mengubah apa pun yang terkait dengannya.
Ketika saya berlari ulimit -a
saya kembali,
$ ulimit -a
core file size (blocks, -c) unlimited
...
Poin lainnya,
- Saya memverifikasi bahwa pengguna saya dapat membuat file di direktori saat ini.
- Saya membaca tentang
/proc/sys/fs/suid_dumpable
. Saat ini, sudah diatur ke 0 pada mesin saya. Saya mencoba mengubahnya menjadi 1 atau 2 tetapi tidak ada perbedaan. - Saya juga mencoba menjalankan program sebagai root, tetapi itu juga tidak membuat perbedaan.
Sayangnya, saya tidak ingat kapan saya bisa menghasilkan dump-core yang sukses terakhir.
sudo systemd-coredumpctl
menunjukkan semua dump inti yang hilang. Solusi Anda berfungsi tetapi hanya setelah sistem dinyalakan ulang.systemd
Barusystemd-sysctl.service
saja berjalansysctl
pada titik yang tepat dari boot, dan menangani rerunning dengan tangan pada perubahan. Dan jangan membuat / menimpa file konfigurasi tanpa menyelidiki untuk apa mereka dan isinya.50-coredump.conf
, untuk menerapkan pengaturan pada boot saat ini, saya harus menjalankan perubahan pengaturan sysctl secara manual, lihat stackoverflow.com/q/2065912/427545 .sysctl -w kernel.core_pattern="core"
Anda mungkin ingin menggunakan
coredumpctl
perintah untuk mengambil dump inti Anda atau menjalankan gdb di atasnya. Itulah metode 'systemd disetujui' untuk berurusan dengan mereka. : - /Dalam arti tertentu, agak menyenangkan bahwa systemd menangkap semua hal ini karena akan menghapusnya secara otomatis setelah beberapa saat, dan itu juga membuatnya mudah untuk mengunggah crash dumps untuk laporan bug.
Tapi, itu adalah perubahan yang menggelegar dengan sedikit cara pemberitahuan atau petunjuk bagi orang-orang yang tahu bagaimana coredumps bekerja sebelum systemd terlibat. Bahkan menjatuhkan file bernama 'core.pid.txt' dengan instruksi untuk menggunakan coredumpctl untuk mendapatkan coredump Anda serta cara mematikan pembuatan
.txt
file akan sangat membantu, meskipun mereka juga akan membuang sampah sembarangan. filesystem untuk sementara.sumber