Sekali waktu saya menggunakan banyak kode debug. Saya hampir seluruhnya menargetkan Windows, jadi ada banyak fungsi output string debug ini yang saya tidak ingat bagaimana mengeja lagi, jadi saya bisa menangkap jejak dengan program tertentu.
Beberapa kode debug tetap ada di tempat, hal-hal tertentu yang dimaksudkan untuk memberi panggilan bersarang. Namun, meskipun masalah string debug sebagian besar tidak akan terlihat pada sistem produksi, semuanya masih dilakukan di bawah kompilasi bersyarat.
Kenyataannya adalah, bagaimanapun, bahwa semua kode debug itu banyak upaya untuk sesuatu yang idealnya ditangani dengan cara yang berbeda - tentu saja menggunakan debugger. Pada saat itu, saya tidak terkesan dengan debugger Borland C ++. Alat ada di sana, tetapi mereka terlalu sering memberikan hasil yang menyesatkan, dan menggunakan debugger non-IDE (sering diperlukan) berarti menghafal tombol pintas, yang berarti gangguan dari pekerjaan yang sedang dihadapi.
Satu-satunya pengalaman debugging yang saya temukan lebih buruk adalah command-line GDB.
Menjadi seorang ahli dengan alat yang Anda gunakan setiap hari tentu saja penting - tetapi debugging tidak seharusnya menjadi sesuatu yang Anda lakukan setiap hari. Jika Anda sering menggunakan debugger, Anda akan baik-baik saja dengan mempelajari lusinan perintah dan / atau pintasan keyboard, yang tampaknya agak red-flag bagi saya.
Pada saat saya bekerja di Visual Studio 7, sudah jelas bahwa debugging bisa sangat praktis dan efektif. Jika Anda dapat melakukan debugging di Visual Studio (termasuk edisi ekspres), debugging sangat mudah. Tidak diragukan lagi jika Anda dapat menemukan ujung depan GUI / IDE yang tepat, GDB juga mudah dan efektif, meskipun saya belum melakukan pencarian itu.
Ada juga sesuatu yang bisa dikatakan untuk pengujian unit, dengan analisis cakupan menggunakan gcov. Semakin yakin bahwa Anda berada dalam perilaku perpustakaan Anda, semakin tidak perlu debugging Anda menjadi - dan semakin sering Anda membutuhkan debugger di tempat pertama. Dan menulis unit test adalah sesuatu yang cukup masuk akal yang harus Anda lakukan hampir setiap hari.
Tool yang tidak terduga penting = cmake, tool build yang memungkinkan saya untuk dengan mudah beralih antara membangun untuk GCC dan untuk VC ++, antara lain. Jadi saya bisa melakukan pengujian unit dan cakupan berbasis gcov menggunakan GCC, tetapi dengan mudah beralih ke VC ++ untuk menggunakan debugger.