> Program apa yang bisa saya gunakan untuk melakukan C/C++ > debugging di > GNU/Linux? Ada yang bisa berbagi pengalaman?
Dulu sebelum beralih fokus ke Python/Haskell, saya manfaatkan pustaka Garbage Collector-nya Hans Boehm. Boehm-GC membebaskan pikiran saya dari manajemen memori dan berbagai bug terkait pointer, tapi kalau masih ingin manajemen memori manual ia punya switch untuk mendeteksi memory leak dan invalid pointer reference, sehingga bisa dipakai sekadar sebagai leak detector. Pustaka ini juga punya struktur data Cord (sejenis String) supaya nggak perlu keseringan pakai char* yang riskan bug pointer. Saya juga pakai modul unit testing; ada banyak sekali, tapi yang paling sreg saya pakai adalah CuTest. > Lalu, ada rekomendasi buku/URL yang bagus untuk belajar > soal debugging? Saya dari dulu juga belajar debugging kesana-kemari, pakai debugger macam2. Kalau terpaksa pakai C/C++, mungkin perlu perbanyak testcase untuk unit testing, kalau bisa pakai pustaka garbage collector, dan isolasi manipulasi pointer dalam fungsi tertentu saja. Bagi saya cara debugging terbaik adalah prototyping di bahasa pemrograman fungsional dulu, seperti Haskell, OCaml atau Scheme. Bahasa2 seperti itu memaksa kita untuk mengkonkritkan setiap algoritma dan mekanisme internal dan struktur komponen program, sehingga *kalau* terjadi bug sudah jelas bahwa masalahnya bukan pada implementasi yang faulty. Kalau Haskell lebih ketat lagi, karena dia benar2 strongly-typed, nggak bisa type juggling seperti C/C++, dan pesan kesalahannya sangat sederhana, nggak membingungkan seperti C++ (apalagi C++ plus STL. Error message-nya ampun deh). Setelah programnya jadi, kalau mau, bisa dikonversi balik ke C/C++ dari subset fungsional terkecil sampai jadi program lengkap. Kalau nggak suka bahasa fungsional, minimal yang menggunakan manajemen memori otomatis seperti Python, sehingga pikiran bisa fokus ke eksplorasi pencarian struktur program yang tepat karena nggak kuatir kena bug2 fatal dengan penyebab sepele terkait pointer dan memory leak. Ini saya sedang bikin software pengelola renderfarm untuk animasi 3D, nggak ada referensi jadi harus eksperimen/eksplorasi/berkali2 rombak strukturnya, tapi nggak masalah karena baru prototyping di Python ^_^ Benar2 membantu! I don't mean to be a smartass, you're the college graduate. Just my 2 cents, hope it helps :) Adhi Hargo. -- Berhenti langganan: linux-programming-unsubscr...@linux.or.id Arsip dan info: http://linux.or.id/milis