İçeriğe atla
0 XP 0
0/6

Puan ders bitince hesaba yazılır. Bu dersi tamamlayınca +55 XP alacaksın. Giriş yapmadan ilerlersen puan yalnız bu tarayıcıda durur.

9 dk · 55 XP · 6 etkinlik

Hata ayıklayıcı ile adım adım yürütme

Statik analiz bir noktada tıkanır. Kod çalışma anında çözülüyorsa, ekranda yalnız anlamsız baytlar durur. O anda hata ayıklayıcıya geçersin ve programın kendi kendini açmasını izlersin.

Hata ayıklayıcı üç şey verir. Akışı istediğin yerde durdurursun. Kayıtçı ve bellek içeriğini okursun. Değerleri değiştirip farklı yolu denersin. Üçüncüsü en güçlüsüdür çünkü koşulları sen kurarsın.

(gdb) break *0x401156
Breakpoint 1 at 0x401156
(gdb) run
Breakpoint 1, 0x0000000000401156 in main ()
(gdb) info registers rax rdi
rax  0x0   0
rdi  0x4040a0  4210848
(gdb) x/s $rdi
0x4040a0: "c2.ornek.test"
Durdur, kayıtçıya bak, işaret ettiği dizeyi oku.

İki komut bu işi görür. Kesme noktası komutu adres üstüne bir işaret koyar; program o adrese gelince durur ve kontrolü sana bırakır. Çalıştırma komutu ise örneği baştan başlatır ve konan işarete kadar akışı sürdürür. Durduğu anda kayıtçılar donmuş haldedir, sen onları dilediğin sırada okursun. Bu iki adım, hata ayıklayıcı oturumunun ilk hareketidir ve geri kalan her komut bu duraktan sonra gelir. Yanlış adrese konan bir kesme noktası hiç tetiklenmez, bu yüzden adresi statik analizden doğrularsın.