Kodu çalıştırdığınızda beklediğiniz sonuç gelmiyorsa python debugging teknikleri devreye girer. İki temel yöntem var: print ekleyerek izleme ve breakpoint ile durdurarak inceleme. Her ikisini de nasıl kullanacağınızı öğrenin. **Print ile hata bulma, Hızlı ve basit** Kodun herhangi bir noktasına `print()` ekleyerek değişkenlerin ne olduğunu görebilirsiniz. ```python def hesapla(x, y): print(f"[DEBUG] x={x}, y={y}") sonuc = x / y print(f"[DEBUG] sonuc={sonuc}") return sonuc ``` Bu yöntem hızlıdır ama kalabalık çıktı üretebilir. İş bitince print satırlarını silmeyi unutmayın. **Adım 1, Breakpoint kullanın** Python 3.7+ sürümlerinde doğrudan `breakpoint()` yazabilirsiniz: ```python def hesapla(x, y): breakpoint() # Buraya gelince duracak sonuc = x / y return sonuc ``` Kod bu satıra ulaştığında interaktif hata ayıklayıcı (pdb) açılır. **Adım 2, pdb komutlarını öğrenin** Pdb açıldığında şu komutları kullanırsınız: - `n` → bir sonraki satıra geç - `s` → fonksiyonun içine gir - `p degisken` → değişkeni yazdır - `c` → çalışmaya devam et - `q` → çık **Adım 3, IDE'deki görsel debugger** python debugging teknikleri arasında en verimli yol IDE debugger'ı. Satır numarasının soluna tıklayarak breakpoint ekleyin. "Debug" modunda çalıştırın, kod o noktada durur ve tüm değişkenleri yan panelde görebilirsiniz. **Adım 4, Stack trace okumak** Hata çıktısında en alt satır hatanın asıl kaynağını gösterir, üst satırlar çağrı zincirini gösterir. Hatayı üstten değil alttan okuyun. **Adım 5, Conditional breakpoint** Yalnızca belirli bir koşulda durması için IDE'de breakpoint üzerine sağ tıklayıp koşul ekleyin. Örneğin: yalnızca `x == 0` olduğunda dur. Büyük döngülerde çok işe yarar. **Yaygın hatalar** - Breakpoint'i yanlış satıra koymak, hatanın bir satır öncesine koyun - Print ile debugger'ı aynı anda kullanmak, çıktı karışır - `breakpoint()` satırını commit'e dahil etmek, kod temizliği için mutlaka silin