Saya memiliki program C ++ yang melakukan apa yang seharusnya dilakukan, tetapi harus ada beberapa masalah dengan pointer, karena crash pada akhirnya dan membuat dump inti. Masalah saya adalah bahwa saya tidak dapat menemukan file inti, jadi saya tidak dapat men-debug itu.
saya telah mencoba
ulimit -c unlimited
ulimit -a
dan sekarang dimensi file diatur ke tidak terbatas, tetapi masih saya tidak dapat menemukan intinya. Saya sudah mencoba di setiap folder yang ditulis di sini tapi tetap saja tidak ada file inti yang dibuat.
Di mana saya bisa menemukannya?
/var/crash
/var/log/apport.log
, karena versi Ubuntu modern menggunakan Apport, yang dapat mengganggu core-dumping dengan cara yang tidak jelas. Lihat stackoverflow.com/a/18368068/1772379 untuk info lebih lanjut.Jawaban:
Di Ubuntu, dump inti ditangani oleh Apport dan dapat ditemukan di
/var/crash/
. Tetapi dinonaktifkan secara default dalam rilis stabil.Untuk mengaktifkan Apport, jalankan:
sudo systemctl enable apport.service
atausudo service apport start
.Untuk menonaktifkan, jalankan:
sudo systemctl disable apport.service
atausudo service apport stop
untuk kembali ke metode dump inti reguler. Lihat: Bagaimana cara saya mengaktifkan atau menonaktifkan Apport? .Untuk menonaktifkan secara permanen, edit
/etc/apport/crashdb.conf
file dan komentari baris berikut:dengan menambahkan simbol hash (
#
) di awal baris.Untuk menonaktifkan pelaporan kerusakan (kembali ke normal), hapus simbol hash (sama seperti sebelumnya).
Anda juga dapat memeriksa
core_pattern
, bagaimana core dump ditangani oleh kernel:Jadi, bahkan file inti pun dinonaktifkan
ulimit
,apport
masih akan menangkap macet.Lihat juga:
sumber
Bagi mereka yang googlin ': (dalam kasus saya - Ubuntu 16.04 dan 18.04 dan aplikasi khusus)
/var/crash
masih kosong, jadi cara cepat untuk menangani pembuatan inti (asalkan Anda mis. Menggunakan pengaturan bawaan ulimit yang relevan ) adalahdan
Sumber:
sumber