GNU Debugger

Vikipedi, ozgur ansiklopedi
GDB'nin logosu

GNU Debugger ( GDB olarak kısaltılır) GNU yazılım sistemi icin kullanılan bir hata ayıklayıcıdır (debugger). Unix tabanlı pek cok sisteminde, C , C++ ve Fortran gibi bircok programlama dilinde calı?an ta?ınabilir bir hata ayıklayıcıdır.

Tarihce [ de?i?tir | kayna?ı de?i?tir ]

Richard Stallman tarafından 1988 yılında yazılan GDB, GNU General Public License kapsamında da?ıtılan ucretsiz bir yazılımdır. 1990 - 1993 yılları arasında Cygnus Solutions ' da calı?tı?ı sırada geli?tirilmesine John Gilmore tarafından devam edilmi?tir.

Teknik Detaylar [ de?i?tir | kayna?ı de?i?tir ]

Ozellikler [ de?i?tir | kayna?ı de?i?tir ]

GDB bilgisayar programlarının calı?tırılmasını de?i?tiren ve takip eden pek cok geli?mi? ozelli?e sahiptir. Kullanıcı programın ic de?i?kenlerini ve normal akı?ı icerisinde ca?rılan fonksiyonları izleyebilir ve degi?tirebilir.

2003 yılı itbari ile GDB' nin destekledi?i i?lemciler ?unlardır; Alpha , ARM , H8/300 , System/370 , System 390 , X86 ve X86-64 , IA-64 "Itanium", Motorola 68000 , MIPS , PA-RISC , PowerPC , SuperH , SPARC , VAX .

Standart surume eklenmi? daha az bilinen i?lemciler; A29K , ARC , AVR , CRIS , D10V , D30V , FR-30 , FR-V , Intel i960 , M32R , 68HC11 , Motorola 88000 , MCORE , MN10200 , MN10300 , NS32K , Stormy16 , V850 , VAX ve Z8000 . (yeni surumler muhtemelen bu i?lemcileri desteklemeyecektir.)

GDB hedef platformlar icin simulatorler uzerinde derlenmi?tir.

Uzaktan Hata Ayıklama [ de?i?tir | kayna?ı de?i?tir ]

Gomulu sistemlerde hata ayıklama i?lemi sırasında sıklıkla GDB'nin "uzaktan" modu kullanılır. GDB bir makina uzerinde calı?ıyor ve ayıklanan program ba?ka bir makina uzerinde calı?ıyorsa uzaktan i?lem etkinli?i kullanılır. Seri port ya da TCP/IP uzerinden, GDB protokolunu anlayan uzaktaki makinayla ba?lantı kurulabilir. Aynı mod kaynak seviyesinde calı?an bir linux kernel gdb kullanarak KGDB tarafından ayıklanması sırasındada kullanılır. Kernel geli?tiricileri kgdb' yi kullanarak uygulama programları gibi kernel uzerindede hata ayıklama i?lemleri yapabilirler. Kernel code icerisinde istenilen yerlere kesme noktaları konularak kod boyunca belli adımlarla ilerlenip de?i?kenler gozlemlenebilir. Bazı mimarilerde donanım hata ayıklama yazmacları (register) mevcut olup, ce?itli izleme noktaları belirlenerek belirli bir bellek adresine ula?ıldı?ı ya da calı?tırıldı?ı zaman kesme noktaları tetiklenebilmektedir. kgdb hata ayıklanması yapılacak makinaya seri kablo ya da ethernet kartı uzerinden ba?lı ikinci bir makina gerektirir. FreeBSD uzerinde Firewire DMA kullanarak hata ayıklama i?lemini gercekle?tirmek mumkundur.

Sınırlamalar [ de?i?tir | kayna?ı de?i?tir ]

GDB kendi icerisinde bir grafiksel kullanıcı arayuzune sahip de?ildir, standart olarak komut satırı arayuzune sahiptir. DDD , GDBtk/Insight ve Emacs ' in GUD mode uygulaması GDB icin grafik arayuzleri sa?lamaktadır. Bu araclar tumle?ik geli?tirme ortamlarındaki hata ayıklayıcılara benzer ozelliklere sahiptir.

memory leak dedektoru gibi ce?itli araclarda GDB ile beraber calı?abilmektedir.

Ornek Komutlar [ de?i?tir | kayna?ı de?i?tir ]

gdb prog.out prog.out ayıklar

gdb > run calı?tırır

Dı? ba?lantılar [ de?i?tir | kayna?ı de?i?tir ]