GDB 13 debugger utgivelse

Utgivelsen av GDB 13.1 debugger har blitt presentert (den første utgivelsen av 13.x-serien, 13.0-grenen ble brukt til utvikling). GDB støtter feilsøking på kildenivå for et bredt spekter av programmeringsspråk (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust, etc.) på forskjellig maskinvare (i386, amd64 , ARM, Power, Sparc, RISC-V, etc.) og programvareplattformer (GNU/Linux, *BSD, Unix, Windows, macOS).

Viktige forbedringer:

  • Lagt til støtte for å kjøre debugger og GDBserver på GNU/Linux/LoongArch og GNU/Linux/CSKY-arkitekturer.
  • Støtte for arbeid på Windows-plattformen i asynkron modus (asynkron) er implementert.
  • På FreeBSD-plattformen er det lagt til støtte for TLS (Thread Local Storage)-variabler for ARM- og AArch64-arkitekturene, og muligheten til å bruke maskinvarebruddpunkter (watchpoint) er gitt for AArch64-arkitekturen.
  • I GNU/Linux-miljøet på LoongArch-systemer er det lagt til støtte for flytende kommaberegninger.
  • Implementerte nye kommandoer "maintenance set ignore-prologue-end-flag|libopcodes-styling" og "maintenance print frame-id", samt kommandoer for å kontrollere stilen til demontert utgang (sett stil disassembler *).
  • Lagt til kommandoer "sett utskriftsnibbles [på|av]" og "vis utskriftsnibbles" for å kontrollere visningen av binære verdier i fire-byte grupper.
  • Det er gjort forbedringer i Python API. En API for demontering av instruksjoner er lagt til, typen gdb.BreakpointLocation er implementert, og funksjonene gdb.format_address, gdb.current_language og gdb.print_options er lagt til.
  • Den første versjonen av GDB/MI-administrasjonsgrensesnittet er avviklet og vil bli fjernet i GDB 14.
  • Lagt til støtte for feilsøkingsseksjoner komprimert ved hjelp av zstd-algoritmen i ELF-filer.
  • Lagt til nye innebygde variabler: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Utdataformatet til kommandoene 'disassemble /r' og 'record instruction-history /r' har blitt justert for å matche utdataene til objdump. For å returnere det gamle formatet, er "/b"-modusen lagt til.
  • I TUI (Text User Interface) er stiling av kilde- og monteringskode uthevet av gjeldende posisjonsindikator deaktivert.
  • Det er mulig å bruke "document"-kommandoen for å dokumentere brukerkommandoer.
  • Lagt til muligheten til å lage dumper med minnekodedata som brukes når du bruker ARMv8.5 MTE (MemTag, Memory Tagging Extension) mekanismen, som lar deg binde tagger til hver minneallokeringsoperasjon og organisere en pekersjekk når du får tilgang til minnet, som må være knyttet til riktig tag.
  • DBX-kompatibilitetsmodus er avviklet.
  • Støtte for bygging med Python 2 er avviklet.
  • Kommandoene “sett debug aix-solib på|av”, “vis debug aix-solib”, “sett debug solib-frv på|av” og “vis debug solib-frv” er fjernet, og kommandoene “sett/vis debug" bør brukes i stedet solib."

Kilde: opennet.ru

Legg til en kommentar