GDB 11 hata ayıklayıcı sürümü

GDB 11.1 hata ayıklayıcısının sürümü sunuldu (11.x serisinin ilk sürümü, geliştirme için 11.0 şubesi kullanıldı). GDB, çeşitli donanımlarda (i386, amd64, ARM, Power, Sparc, RISC) çok çeşitli programlama dilleri (Ada, C, C++, Objective-C, Pascal, Go, Rust, vb.) için kaynak düzeyinde hata ayıklamayı destekler - V, vb.) ve yazılım platformları (GNU/Linux, *BSD, Unix, Windows, macOS).

Anahtar iyileştirmeler:

  • TUI (Metin Kullanıcı Arayüzü), fare eylemleri için destek ve fare tekerleğiyle içerik kaydırma yeteneği ekledi. TUI'de işlenmeyen tuş kombinasyonlarının GDB'ye iletilmesi etkinleştirildi.
  • Etiketleri her bellek ayırma işlemine bağlamanıza ve belleğe erişirken doğru etiketle ilişkilendirilmesi gereken bir işaretçi kontrolü düzenlemenize olanak tanıyan ARMv8.5 MTE (MemTag, Bellek Etiketleme Uzantısı) mekanizması için destek eklendi. Uzaktan Hata Ayıklama Kontrol Protokolü, etiketleri belleğe bağlamak için “qMemTags” ve “QMemTags” paketleri için destek sağlar.
  • Yapılandırma dosyalarını okuma mantığı değiştirildi. .gdbinit dosyası artık şu sırayla kontrol edilir: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit ve $HOME/.gdbinit. Onlar. önce config alt dizininde ve yalnızca daha sonra ana dizinde.
  • “break […] if CONDITION” komutunda, bir koşulun belirli yerlerde geçersiz olması durumunda, koşulun en az bir durumda geçerli olması durumunda hata çıkışı durdurulur.
  • x86_64 mimarisi için derlenen Cygwin programları için oluşturulan çekirdek dökümlerinde hata ayıklama desteği eklendi.
  • Sabit nokta türlerinin yanı sıra DW_AT_GNU_numerator ve DW_AT_GNU_denominator sabitleri için destek eklendi.
  • "Başlangıçta sessiz açma/kapama" ayarı eklendi; “açık” olduğunda, “-silent” seçeneğine benzer.
  • "ptype" komutu, boyutları ve uzaklıkları görüntülerken onaltılık veya ondalık sayıyı seçmek için /x" ve "/d" seçeneklerini uygular. 'ptype' komutunun çıktısına onaltılık değerlerin kullanılması için "print type hex on|off" ayarı eklendi.
  • "Düşük" komutta, bağımsız değişkenler olmadan çağrıldığında, geçerli hata ayıklama nesnesinin (düşük) çıktısı sağlanır.
  • “Bilgi kaynağı” komutunun çıktısı yeniden düzenlendi.
  • “Stil sürümü ön planı | arka plan | Sürüm numaralandırma stilini kontrol etmek için yoğunluk".
  • Yeni komut satırı seçenekleri eklendi: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” ('-break-insert komutları için) ) ' ve '-dprintf-insert'), "--force-condition" ('-break-insert' ve '-dprintf-insert' komutları için), "--force" ('-break-condition için) ' emretmek).
  • “-file-list-exec-source-files” komutu, işlenecek kaynak dosyaları filtrelemek için düzenli ifadeler belirtmenize olanak tanır. Hata ayıklama bilgilerinin ne ölçüde yüklendiğini belirtmek için çıktıya 'tamamen hata ayıklama' alanı eklendi.
  • Python API'sinde iyileştirmeler yapıldı. Bir Frame nesnesinin yığın düzeyini döndürmek için yeni gdb.Frame.level() ve db.PendingFrame.level() yöntemleri eklendi. Bir yakalama noktası tetiklendiğinde Python API, gdb.StopEvent yerine gdb.BreakpointEvent gönderilmesini sağlar. Ortam değişkenlerini yok saymak için "python görmezden-ortam açık|kapalı" ve bayt kodu yazmayı devre dışı bırakmak için "python dont-write-bytecode auto|on|off" ayarları eklendi.
  • Guile API'sinde iyileştirmeler yapıldı. Değer-referans-değer, değer-rdeğer-referans-değer ve değer-sabit-değer gibi yeni prosedürler eklendi.
  • Gerekli derleme bağımlılıkları GMP (GNU Çoklu Hassasiyetli Aritmetik) kitaplığını içerir.
  • ARM Symbian platformu (arm*-*-symbianelf*) desteği durduruldu.

Kaynak: opennet.ru

Yorum ekle