İçeriğe atla

GNU Debugger

Vikipedi, özgür ansiklopedi
GNU Debugger
Geliştirici(ler)GNU Projesi
İlk yayınlanma1986 (38 yıl önce) (1986)
Güncel sürüm15.1[1] Bunu Vikiveri'de düzenleyin / 7 Temmuz 2024
Programlama diliC, C++, Python
İşletim sistemiUnix-like, Windows
TürHata ayıklayıcı
LisansGPLv3
Resmî sitesignu.org/software/gdb
Kod deposu Bunu Vikiveri'de düzenleyin

GNU Debugger(GDB olarak kısaltılır) GNU yazılım sistemi için kullanılan bir hata ayıklayıcıdır (debugger). Unix tabanlı pek çok sisteminde, C, C++ ve Fortran gibi birçok programlama dilinde çalışan taşınabilir bir hata ayıklayıcıdır.

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

Teknik Detaylar

[değiştir | kaynağı değiştir]

GDB bilgisayar programlarının çalıştırılmasını değiştiren ve takip eden pek çok gelişmiş özelliğe sahiptir. Kullanıcı programın iç değişkenlerini ve normal akışı içerisinde çağ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 sürüme 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 sürümler muhtemelen bu işlemcileri desteklemeyecektir.)

GDB hedef platformlar için simulatörler üzerinde derlenmiştir.

Uzaktan Hata Ayıklama

[değiştir | kaynağı değiştir]

Gömülü sistemlerde hata ayıklama işlemi sırasında sıklıkla GDB'nin "uzaktan" modu kullanılır. GDB bir makina üzerinde çalışıyor ve ayıklanan program başka bir makina üzerinde çalışıyorsa uzaktan işlem etkinliği kullanılır. Seri port ya da TCP/IP üzerinden, GDB protokolünü anlayan uzaktaki makinayla bağlantı kurulabilir. Aynı mod kaynak seviyesinde çalış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 üzerindede hata ayıklama işlemleri yapabilirler. Kernel code içerisinde istenilen yerlere kesme noktaları konularak kod boyunca belli adımlarla ilerlenip değişkenler gözlemlenebilir. Bazı mimarilerde donanım hata ayıklama yazmaçları (register) mevcut olup, çeşitli izleme noktaları belirlenerek belirli bir bellek adresine ulaşıldığı ya da çalıştırıldığı zaman kesme noktaları tetiklenebilmektedir. kgdb hata ayıklanması yapılacak makinaya seri kablo ya da ethernet kartı üzerinden bağlı ikinci bir makina gerektirir. FreeBSD üzerinde Firewire DMA kullanarak hata ayıklama işlemini gerçekleştirmek mümkündür.

GDB kendi içerisinde bir grafiksel kullanıcı arayüzüne sahip değildir, standart olarak komut satırı arayüzüne sahiptir. DDD, GDBtk/Insight ve Emacs' in GUD mode uygulaması GDB için grafik arayüzleri sağlamaktadır. Bu araçlar tümleşik geliştirme ortamlarındaki hata ayıklayıcılara benzer özelliklere sahiptir.

memory leak dedektörü gibi çeşitli araçlarda GDB ile beraber çalışabilmektedir.

Örnek Komutlar

[değiştir | kaynağı değiştir]

gdb prog.out prog.out ayıklar

gdb > run çalıştırır

Dış bağlantılar

[değiştir | kaynağı değiştir]
  1. ^ "GDB 15.1 released!" (İngilizce). 7 Temmuz 2024. Erişim tarihi: 9 Temmuz 2024.