Bagaimana cara mengaktifkan laporan kerusakan / dump inti / jejak penelusuran logging secara global?

9

Bug yang menabrak bisa menjadi yang paling menyebalkan, yang menyebabkan hilangnya data, waktu henti, dan pengguna yang frustrasi. Akan lebih baik jika aplikasi kurang crash.

Karena kompleksitas konteks mesin, crash sering kali tidak dapat direproduksi dalam waktu yang wajar untuk pengguna biasa. Itu tidak berarti bahwa bug jarang terjadi - Ini bisa berarti bahwa hal yang memicu itu jarang terjadi untuk setiap pengguna (misalnya perubahan DST). Bug semacam itu tidak mungkin diperbaiki kecuali banyak pengguna melaporkannya. Akan lebih baik jika lebih banyak crash dilaporkan.

Untuk men-debug crash, para pengembang membutuhkan konteks yang jelas sebanyak mungkin. Laporan kerusakan yang dihasilkan baik , karena biasanya terperinci dan akurat. Pengguna tidak dapat diharapkan untuk dengan rajin mengamati dan melaporkan semua konteks secara manual, sehingga mereka sering mengirimkan informasi yang jarang dan salah.

Target audiens untuk banyak aplikasi bukanlah pengembang atau sysadmin, melainkan masyarakat umum, di rumah atau di tempat kerja. Pengguna tersebut tidak dapat diharapkan untuk mengetahui cara mengumpulkan informasi kerusakan secara manual, atau menginstal -dbgpaket, tetapi laporan yang dihasilkan dari pengguna tersebut masih dapat digunakan. Beberapa aplikasi memiliki alat pelaporan kerusakan sendiri , tetapi menurut pengalaman saya ini jarang berhasil , dan ketika mereka melaporkan bahwa mereka gagal melaporkan kesalahan, sepertinya tidak ada informasi tentang bagaimana melakukannya secara manual (saya telah mengamati ini untuk versi terbaru dari Firefox dan Flash). Generasi menyeluruh dari laporan kerusakan akan baik.

Apakah ada semacam generasi laporan kerusakan * yang dapat diaktifkan secara global ** tanpa menginstal satu ton -dbgpaket, membaca dokumentasi masing-masing dan setiap aplikasi, atau memperlambat mesin normal hingga merangkak?

* Log, dump inti, jejak stack, apa pun

** Tidak harus untuk init, tetapi setidaknya untuk sebagian besar aplikasi yang berjalan pada instalasi Linux desktop biasa. Dalam pengalaman saya aplikasi GUI crash 100+ kali lebih sering daripada aplikasi shell, jadi aplikasi GUI secara alami akan menjadi fokus.

l0b0
sumber
Apa yang akan Anda lakukan dengan semua file inti itu (ya, Anda dapat mengaktifkan dump inti secara global, tetapi aplikasi dapat menonaktifkannya secara individual)? Bagaimana Anda mengedukasi pengguna tentang apa yang harus dilakukan dengan mereka, bagaimana cara membersihkannya?
Mat
1
Kirim mereka ke pengembang. Setidaknya sebagian besar dari mereka harus terbiasa dengan lampiran email.
l0b0
1
Bagaimana dengan masalah keamanan? dump inti dapat penuh dengan informasi pribadi. Maaf, tapi saya tidak melihat sesuatu yang secara umum praktis dalam apa yang Anda usulkan.
Mat
Laporan kerusakan dan jejak tumpukan, di sisi lain, tidak boleh mengandung informasi pribadi apa pun. Bahkan itu harus cukup untuk men-debug banyak aplikasi, jika hanya dihasilkan secara default dan mudah ditemukan.
l0b0
1
Jejak tumpukan tidak terlalu berguna tanpa informasi debug (atau setidaknya versi biner yang menyertainya). "Laporan kerusakan" adalah konsep tingkat aplikasi, bukan sesuatu yang Anda dapat "aktifkan secara global" (walaupun beberapa kerangka menyediakannya, dan yang besar (misalnya KDE) sudah memiliki fitur "kirim ke tim pengembang" otomatis).
Mat

Jawaban:

1

Ubuntu memiliki Apport hanya untuk itu.

sendmoreinfo
sumber