Pada tahun 1947, para insinyur di Harvard menemukan seekor ngengat yang terperangkap dalam relay komputer Mark II. Mereka mencatatnya dalam buku catatan dan menulis 'kasus pertama penemuan bug yang sebenarnya'. Debugging adalah proses menemukan dan memperbaiki kesalahan dalam kode. Istilah ini melekat, meskipun sebagian besar bug bukanlah serangga.
Kesalahan (bug) berkisar dari kesalahan ketik hingga kesalahan logika hingga kondisi persaingan (race condition). Tanda titik koma yang hilang menghentikan kompilasi. Nama variabel yang salah menghasilkan hasil yang salah. Kondisi persaingan hanya muncul ketika dua thread berjalan dalam urutan tertentu. Beberapa bug mudah ditemukan. Yang lain membutuhkan waktu berhari-hari untuk direproduksi.
Teknik debugging
- Pernyataan cetak: menampilkan nilai pada titik-titik penting.
- Titik henti (breakpoint): jeda eksekusi dan periksa status.
- Debugging menggunakan bebek karet: jelaskan kode tersebut dengan lantang.
- Pencarian biner: mempersempit area kemunculan bug.
- Kontrol versi: bandingkan versi yang berfungsi dan yang rusak.
Debugging adalah pekerjaan detektif. Anda merumuskan hipotesis, mengujinya, dan menyingkirkan kemungkinan-kemungkinan yang ada. Debugger terbaik adalah orang yang sabar dan sistematis. Mereka tidak menebak. Mereka mengamati.
Comments
No comments yet. Be the first to share a thought.
Leave a comment