Durumu incelemek için güzel bir şey.
Diyelim ki bazı sayıları input olarak alıyorsunuz a, b, c diye.
Kodunuzu çalıştırdınız ve patladı. Nerede patladığını söyledi size ide, arithmetic exception, divide by zero diyor.
Baktınız, patladığı yerde 1 / (a*b*c) diye bir işlem var. O noktada breakpoint koyup debug ederseniz, kodunuz çalışınca bu a, b ve c sayılarından hangisinin/hangilerinin 0 olduğunu bulabilirsiniz. Breakpoint koymamakta inat ederseniz her biri için if(a == 0) { ekrana "A SIFIR GELİYOO" yazdır; } if(b==0) "B SIFIR GELİYOO".. ... diye hatayı outputta okumak için saçma işlere girmeniz gerekir.
Hata alınmayan durumlar da olabilir. Mesela üstteki gibi bir hata oluşmadı, 1 / (a*b*c) işlemi 0.1 değeri döndü. Ama siz 0.5 değeri gelecek diye umuyordunuz. Breakpointler yardımıyla hangi sayıya hangi değer geliyor, hangisi beklediğiniz gibi gelmiyor, nerede işlem hatası, input hatası vb. inceleyebilirsiniz. Debug yaparken baktınız ki a ve b sayıları düzgün geliyor, c sayısı ise sizin umduğunuz değer gelmiyor da başka bir değer olarak geliyor. C sayısının ilk atandığı yere breakpoint koyabilirsiniz ya da c sayısının değerini c sayısı üzerinde her işlem yapıldığı yere breakpoint koyup debug edebilirsiniz. Bu sayede koddaki hatayı bulursunuz, mesela c değerini endpointC den alacağınız yerde copy paste yaparken endpointA dan almış olduğunuzu fark edebilirsiniz ya da gözünüzden kaçan, unuttuğunuz c = c/5 gibi bir işlemi fark edebilirsiniz.
Debug işlemi hatalardan ayıklamak anlamına geliyor zaten, run edip hata almak debug değil teste girer. Nispeten büyük projelerde sorunu tespit etmek ya da kodunun tamamını sizin yazmadığınız projelerde değişkenleri takip etmek breakpointsiz çok zordur.
Breakpoint ile break i karıştırıyorsunuz sanırım, döngüde kodu sonlandıran break.