Jika aplikasi mogok di Windows, kami dapat memeriksa Peraga Peristiwa di alat Administrasi untuk melihat apa yang macet. Terkadang ia memiliki informasi bermanfaat yang tidak dimiliki orang lain, tetapi ini merupakan awal.
Di linux jika suatu aplikasi (ada) crash bagaimana seseorang mulai melacak apa yang terjadi?
Apakah ada misalnya beberapa log pusat atau yang serupa?
12
/var/log/syslog
. Linux menyediakan cara agar daemon diberi tahu proses crash. Ubuntu Apport dan Red Hat ABRT digunakan ini untuk memberikan logging dan laporan-generasi fasilitas terpusat. Umumnya dump inti disimpan sehingga Anda dapat memanggil debugger pada program yang macet.Jawaban:
Tempat normal untuk log sistem adalah
/var/log/
. Apa yang dimasukkan ke dalam setiap log tergantung pada konfigurasi syslog, tetapi biasanya semuanya kecuali login/var/log/syslog
.Ini bukan jaminan bahwa masing-masing aplikasi akan meninggalkan petunjuk apa pun di sana jika terjadi masalah. Tetapi mereka, atau shell, kemungkinan akan meludahkan sesuatu ke stream error standar / standar, dan jika Anda menjalankan aplikasi yang merepotkan di latar depan dari terminal Anda akan dapat melihat hal-hal itu.
sumber
/var/log
? File log mana? Apakah ada konvensi?ls -lart
, file terakhir dalam daftar adalah yang paling terakhir diubah./var/log/syslog
, tetapi distro yang berbeda melakukan hal yang berbeda. Jika Anda tahu apa syslog yang Anda gunakan, Anda dapat memeriksa konfigurasinya untuk menentukan ini.Di Ubuntu, segfault ditulis di
/var/log/kern.log
. Saya mengujinya dengan membuat program yang segfaults:Setelah itu segfaulted ada baris ini di
/var/log/kern.log
:sumber
Di Ubuntu jika Anda meluncurkan aplikasi dari file launcher .desktop, tambahkan opsi
Terminal=true
ke file .desktop Anda.sumber