Browsing the archives for the gdb tag.

Gdb kullanımı üzerine

Açık Kaynak, Programlama, tutorial, ytulinux

Gdb, gnu debuggerın kısaltılmış halidir. Linux ve unix türevi çeşitli işletim sistemlerinde karşılaşabileceğiniz bu debugger ile, assembly ve c ile yazılmış programlarınızı debug edebilirsiniz. Debug işlemini yapmanız için öncelikle gcc veya as ye -gstabs parametresini vermeniz gerekiyor, böylece derleyicimiz veya assemblerımız programa ait kodları da derlenmiş hale ekliyor. Assembler ile yazılmış bir program için

as cevir.s -o cevir.o -gstabs
ld cevir.o -o cevir.out

C ile yazılmış bir program için

gcc hede.c -o hedehodo.out -gstabs

şeklinde.

Artık programlarımızı debug edebiliriz.

gdb hedehodo.out yazıp, bu komutu çalıştırmamızla debug konsoluna düşeriz. l komutu ile kodları listeleyebiliriz, l komutunu çalıştırırsak sıradan kodları listelemeye başlar (şu eski commodore lardaki list komutu gibi) l 100 dediğimizde ise 100 den başlayarak belli bir kısmı listeler.

Debuggerda amacımız, hatanın nereden kaynaklandığını araştırmak. Öncelikle bir tahminimiz olmalı. “ülen kesin burada patlıyo bu” şeklinde bir tahminle başlamak bizim açımızdan daha mantıklı olacaktır. Sonraki adımda ise, öne sürdüğümüz bu teze neden olan etkenleri denetlemek için programın nerelerde durması gerektiğini düşünmek. Örneğin sıfıra bölme hatamız var, sıfıra bölmeyi yaptığımız yer belli, hatayı burada arıyoruz. O zaman bölen değişkenimizi nerede atadığımızı ve bu atamaya neden olan diğer değişkenlerin nerelerde atandığını araştırmamız lazım. İşin teorik boyutunu geçtikten sonra, gdb de bunu nasıl yapacağımızı öğrenelim.

Continue Reading »

Bu yazı toplamda 3196, bugün ise 0 kez görüntülenmiş

11 Comments