Praktik terbaik untuk mendiagnosis masalah [tertutup]

8

Sebagai pengguna Linux / Unix, kami sering mengalami masalah. Dan setelah berjam-jam memecahkan masalah, kami mengembangkan keterampilan debugging.

Sekarang, apa prinsip, metode, atau praktik terbaik yang baik saat mencoba men-debug masalah umum unix?

Alat apa yang harus saya miliki, sebagai pengguna rata-rata, untuk membuat menemukan penyebab masalah lebih mudah?

Stefan
sumber
3
Seperti yang ditanyakan, ini sangat umum. Saya sarankan membatasi jenis masalah tertentu (mis. Tidak bisa masuk, aplikasi tidak akan mulai, dll.). Tanyakan beberapa pertanyaan jika Anda suka. Dan mereka mungkin adalah komunitas wiki.
Gilles 'SO- stop being evil'
Aturan pertama: Anda punya log, lihat mereka!
Shadok

Jawaban:

8

Metode akan tergantung pada jenis masalahnya.

Secara umum " Cara Mengajukan Pertanyaan dengan Cara Pintar " oleh Eric S. Raymond dan Rick Moen kadang-kadang merupakan nasihat yang bermanfaat untuk fokus pada masalah dan untuk memeriksa apakah Anda telah memikirkan bagian-bagian penting dari masalah.

Sumber informasi pertama Anda selama debugging adalah file log yang ditulis sistem / aplikasi Anda. Tempat umum untuk mereka adalah terminal atau file Anda /var/log/. Banyak aplikasi mendukung berbagai jenis loglevel yang harus Anda tingkatkan jika Anda tidak dapat menemukan pesan yang dapat digunakan. Seringkali ada -vsaklar verbose untuk mendapatkan lebih banyak pesan.

Masih tidak ada yang bisa digunakan? Periksa file konfigurasi Anda, izin file yang dibutuhkan oleh aplikasi dan mungkin Anda harus mengubah konfigurasi logger sistem Anda, misalnya /etc/syslog-ng.conf.

Jika Anda memiliki pesan kesalahan, pencarian google akan sering mengarah pada entri papan pesan atau posting usenet yang membahas masalah di baliknya. Kemungkinan Anda dapat menemukan solusi di sana. Milis pengguna proyek, papan pesan dan saluran IRC juga bisa sangat membantu.

Terkadang aplikasi macet tanpa pesan apa pun. Alat hebat untuk menemukan aliran aplikasi, selain membaca dan memodifikasi kode adalah strace.

Alat ini akan melacak panggilan dan sinyal sistem. Ketika kesalahan ditangkap oleh aplikasi, Anda masih dapat menemukan masalah di systrace.

Pendekatan lain adalah debug aplikasi gdb. Anda harus menjadi pengguna tingkat lanjut dan tahu apa yang harus dilakukan, untuk menggunakan ini.

echox
sumber
3

Jika Anda menginginkan satu, prinsip umum untuk debugging, ini akan menjadi ini: Memahami bagaimana sistem bekerja, sebanyak yang Anda bisa. Memahami setiap komponen sistem, dan mode kegagalan masing-masing komponen. Waspadai komponen mana yang telah Anda ubah baru-baru ini, dan komponen mana yang mungkin telah berubah atau gagal sendiri.

Jika Anda mencari spesifik, maka jawaban echox memiliki banyak informasi bagus.

p-statis
sumber
2

David Agans menulis buku yang sangat bagus tentang debugging , menurut saya. Itu juga berisi seperangkat pedoman untuk debugging .

Selain itu, pengetahuan dan pengalaman umum (domain) sangat membantu dalam melihat pola. Pelajari bagaimana hal-hal dibangun, pisahkan mereka. Lakukan perawatan rutin. Siapkan eksperimen yang tidak jelas. Baca, baca, baca. Buat barang. Menulis terus-menerus. Bantu orang lain dengan masalah mereka. Pilih pertempuran Anda. Tetap tenang. Tersenyum. :)

XTL
sumber
Tautan rusak. pertimbangkan untuk memperbarui mereka.
mk ..