CodeBlanks Logo Icon CodeBlanks

Breakpoint

  • C kursu
  • Orta seviye
  • Ders 95/116
  • 5 dk

gdb'de breakpoint koymayı ve adımlamayı öğrenirsin.

Breakpoint koymak

Bir breakpoint (durak noktası), programın çalışmasını geçici olarak durduğu satırdır. gdb'de break komutu ile konur. Örneğin break main fonksiyon girişinde, break program.c:10 onuncu satırda durur.

Durduktan sonra continue ile bir sonraki durak noktasına kadar devam edersin. step bir satırı çalıştırır ve fonksiyon içine girer; next ise fonksiyon çağrılarını tek adımda atlar. Bu ayrım önemlidir: kendi fonksiyonlarını adım adım izlemek için step, kütüphane fonksiyonlarını atlamak için next kullanırsın. Breakpoint'ler hataların yerini daraltmanın en güçlü aracıdır.

Döngüde durak noktası

Bir döngü içinde hata ararken, döngü gövdesine breakpoint koymak her yinelemeyi tek tek incelemeni sağlar. continue ile her yinelemede durursun.

Örnek program: for (int i = 0; i < 3; i++) printf("adım %d\n", i);. gdb'de döngü gövdesinin satırına breakpoint koyup her continue'da bir sonraki yinelemeye geçersin. Bu, yalnızca belirli yinelemelerde ortaya çıkan hataları yakalamanın en hızlı yoludur. Hangi yinelemede sorun olduğunu görmek için i değişkenini print i ile her durduğunda denetlersin.

Uygulama Döngülü program yaz

for (int i = 0; i < 3; i++) döngüsü kur. Gövdede printf("adım %d\n", i); ile her yinelemeyi yazdır. Bu program gdb'de döngü gövdesine breakpoint koymak için uygundur.

Başlangıç kodu

main.c
#include <stdio.h>

// 0'dan 2'ye kadar dönen bir döngü yaz
// her yinelemede "adım %d\n" yazdır

int main(void) {
    return 0;
}

Örnek çözüm

main.c
#include <stdio.h>

int main(void) {
    for (int i = 0; i < 3; i++) {
        printf("adım %d\n", i);
    }
    return 0;
}

Beklenen çıktı

adım 0
adım 1
adım 2

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 gdb adım komutlarını eşle

Kavram Anlamı
break Durak noktası koy
continue Sonrakine kadar devam
step Fonksiyona gir
next Çağrıyı atla

2 step ile next arasındaki fark nedir?

  • step fonksiyona girer, next atlar Doğru cevap
  • step daha yavaştır, next daha hızlıdır
  • İkisi aynıdır
  • step yalnızca main'de çalışır

Açıklama: step fonksiyon çağrısının içine girer; next çağrıyı tek adımda atlar.

3 Döngü sınırını tamamla

Soru
for (int i = 0; i < ____; i++)
Cevap
for (int i = 0; i < 3; i++)

Açıklama: i < 3 koşulu 0, 1, 2 değerlerini üretir.

Orta seviye bölümündeki tüm dersler