GDB 13.1 hata ayıklayıcısının sürümü sunuldu (13.x serisinin ilk sürümü, geliştirme için 13.0 şubesi kullanıldı). GDB, çeşitli donanımlarda (i2, amd386) çok çeşitli programlama dilleri (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-64, Pascal, Rust, vb.) için kaynak düzeyinde hata ayıklamayı destekler , ARM, Power, Sparc, RISC-V, vb.) ve yazılım platformları (GNU/Linux, *BSD, Unix, Windows, macOS).
Anahtar iyileştirmeler:
- Hata ayıklayıcıyı ve GDBserver'ı GNU/Linux/LoongArch ve GNU/Linux/CSKY mimarilerinde çalıştırmak için destek eklendi.
- Windows platformunda eşzamansız modda (eşzamansız) çalışma desteği uygulandı.
- FreeBSD platformunda ARM ve AArch64 mimarileri için TLS (Thread Local Storage) değişkenleri desteği eklenmiş olup, AArch64 mimarisi için donanım kesme noktalarını (watchpoint) kullanma yeteneği sağlanmıştır.
- LoongArch sistemlerindeki GNU/Linux ortamına kayan nokta hesaplamaları desteği eklendi.
- Yeni komutlar "bakım seti görmezden gelme-prolog-son-flag|libopcodes-styling" ve "bakım yazdırma çerçeve kimliği" komutlarının yanı sıra, demonte çıktının stilini kontrol etmeye yönelik komutlar (set style disassembler *) uygulandı.
- İkili değerlerin dört baytlık gruplar halinde görüntülenmesini kontrol etmek için "yazdırma yarım parçalarını ayarla [açık | kapalı]" ve "yazdırma yarım parçalarını göster" komutları eklendi.
- Python API'sinde iyileştirmeler yapıldı. Talimatları sökmek için bir API eklendi, gdb.BreakpointLocation türü uygulandı ve gdb.format_address, gdb.current_language ve gdb.print_options işlevleri eklendi.
- GDB/MI yönetim arayüzünün ilk sürümü kullanımdan kaldırıldı ve GDB 14'te kaldırılacak.
- ELF dosyalarında zstd algoritması kullanılarak sıkıştırılmış hata ayıklama bölümleri için destek eklendi.
- Yeni yerleşik değişkenler eklendi: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
- 'Disassemble /r' ve 'record talimat-history /r' komutlarının çıktı formatı, objdump çıktısıyla eşleşecek şekilde ayarlandı. Eski formata dönmek için “/b” modu eklendi.
- TUI'de (Metin Kullanıcı Arayüzü), geçerli konum göstergesiyle vurgulanan kaynak ve montaj kodunun stili devre dışı bırakılır.
- Kullanıcı komutlarını belgelemek için “belge” komutunu kullanmak mümkündür.
- ARMv8.5 MTE (MemTag, Bellek Etiketleme Uzantısı) mekanizmasını kullanırken kullanılan bellek etiketi verileriyle dökümler oluşturma yeteneği eklendi; bu, etiketleri her bellek ayırma işlemine bağlamanıza ve belleğe erişirken bir işaretçi kontrolü düzenlemenize olanak tanır. doğru etiketle ilişkilendirilmiş.
- DBX uyumluluk modu durduruldu.
- Python 2 kullanarak derleme desteği durduruldu.
- “set debug aix-solib on|off”, “show debug aix-solib”, “set debug solib-frv on|off” ve “show debug solib-frv” komutları kaldırılmış olup, “set/show” komutları kaldırılmıştır. solib yerine "debug" kullanılmalıdır."
Kaynak: opennet.ru