Jawaban:
Tergantung pada aplikasi. Aplikasi yang berbeda memiliki sistem logging yang berbeda; tidak ada satu log pusat yang berisi semua output dari semua program yang berjalan di sistem Anda.
Yang sedang berkata, banyak program yang menaruh file log mereka di direktori /var/log
. File /var/log/syslog
(atau mungkin /var/log/messages
), khususnya, berisi output dari "logger sistem", yang merupakan layanan yang disediakan oleh sistem yang dapat digunakan program (jika mereka mau) untuk login. Tetapi tidak semua program menggunakannya. Sebagian besar, Anda akan menemukan pesan dari layanan sistem tingkat rendah dalam file itu, bukan aplikasi grafis yang mungkin Anda gunakan secara normal.
Anda mungkin ingin membaca lebih lanjut tentang lokasi file log standar .
file macet /var/log/crashes/
digunakan untuk digunakan dengan melaporkan bug. Anda dapat mengekstraksi dump inti apport-unpack
, memasukkan core dump melalui gdb, dan mencari tahu apa yang menyebabkan program crash.
Ini semua dengan asumsi Anda seorang programmer. Jika Anda tidak ... yah, Anda tidak bisa memperbaiki kerusakan itu!
bt full
"oh lihat backtrace ... dengan simbol yang hilang ... kira saya perlu menginstal simbol debug dan mencoba untuk mereproduksi crash ..." Saya pernah menemukan cara untuk mengatur breakpoint ... itu yang paling canggih yang saya dapatkan dengannya.
Beberapa aplikasi memiliki flag yang dapat digunakan untuk menghidupkan debugging, seperti -d, -D, --debug, dll. Periksa halaman manual aplikasi ( man [my-app]
) atau jalankan aplikasi dengan flag -h untuk melihat apakah ia memiliki pilihan.
Banyak aplikasi GUI menulis ke $ HOME / .xsession-errors sehingga itu adalah tempat yang bagus untuk memeriksa output.
maco benar bahwa berbagi mungkin adalah cara yang paling pasti untuk mendapatkan info debug yang baik. Kadang-kadang itu tidak menangkap crash.
Jika semuanya gagal, Anda juga dapat memaksa info keluar dengan menjalankan aplikasi di gdb. Itu akan menjadi seperti:
$ gdb my-app
(gdb) run
... lakukan apa yang diperlukan untuk membuatnya crash ...
(gdb) bt full
dan pergi dari sana.
Jika Anda memilih rute gdb, Anda juga ingin menginstal simbol, seperti yang disebutkan sebelumnya. Lihat https://wiki.ubuntu.com/DebuggingProgramCrash untuk saran pegangan tangan.
Jika Anda meluncurkan aplikasi dari file launcher .desktop, tambahkan opsi Terminal=true
ke file .desktop Anda. Ini akan membuka terminal ketika Anda menjalankan program, output pada terminal akan sama dengan apa yang Anda lihat jika Anda telah menjalankan program melalui baris perintah di tempat pertama. Dengan cara ini, ketika GUI crash atau hang, Anda dapat melihat output teks apa yang mengarah ke sana.