Numexpedia Programlama

Hata Ayıklama (Debugging) Nedir?

Hata ayıklama, bir programın beklenmeyen davranışının nedenini sistemli şekilde bulup düzeltme sürecidir.

4 dk okuma 2026-09-25

Yazılımda hataya "bug" (böcek) denir. Terim daha eskiye dayansa da 1947'de Harvard Mark II bilgisayarının rölesine sıkışmış bir güvenin kayıt defterine yapıştırılması ünlü bir anekdot olarak kalmıştır. Hata ayıklama (debugging) bu "böcekleri" bulma işidir.

Neden zordur

Hata çoğu zaman göründüğü yerde değildir. Ekranda yanlış sonuç gördüğün satır, sorunun kendisi değil sonucudur. Asıl neden birkaç adım geride olabilir.

Sistemli yaklaşım

  1. Tekrar üret: Hatayı her seferinde oluşturan adımları bul. Tekrarlanamayan hata düzeltilemez.
  2. Daralt: Sorunun hangi bölümde başladığını bul. İşe yarayan son hâl ile bozuk hâl arasındaki farkı incele.
  3. Gözlemle: Değişkenlerin gerçek değerlerine bak. Tahmin etme, ölç.
  4. Düzelt ve doğrula: Düzeltmeden sonra hatanın gittiğini ve başka bir şeyin bozulmadığını test et.

Araçlar ve teknikler

  • Kesme noktası (breakpoint): Programı belirli bir satırda durdurup o anki değişkenleri incelemeni sağlar.
  • Log kaydı: Programın ne yaptığını adım adım yazdırmak.
  • Hata mesajını okumak: Yığın izi (stack trace) hatanın hangi dosyada ve hangi satırda oluştuğunu gösterir. Çoğu zaman cevap oradadır.
  • Lastik ördek yöntemi: Kodu satır satır birine (ya da masadaki bir lastik ördeğe) anlatmak. Anlatırken hata çoğu zaman kendiliğinden ortaya çıkar.
  • git bisect: Hatanın hangi commit ile geldiğini ikili aramayla bulur.

İyi yazılımcı hiç hata yapmayan değil, hatayı hızlı ve yöntemli bulan kişidir.

İlgili makaleler: Programlama Dili Nedir? · Algoritma Nedir? · Git ve Sürüm Kontrolü Nedir?

#debugging#hata ayıklama#breakpoint#programlama#bug