Izdaja razhroščevalnika GDB 11

Predstavljena je bila izdaja razhroščevalnika GDB 11.1 (prva izdaja serije 11.x, za razvoj je bila uporabljena veja 11.0). GDB podpira odpravljanje napak na izvorni ravni za široko paleto programskih jezikov (Ada, C, C++, Objective-C, Pascal, Go, Rust itd.) na različni strojni opremi (i386, amd64, ARM, Power, Sparc, RISC - V itd.) in programske platforme (GNU/Linux, *BSD, Unix, Windows, macOS).

Ključne izboljšave:

  • TUI (Besedilni uporabniški vmesnik) je dodal podporo za dejanja z miško in možnost pomikanja po vsebini s kolescem miške. Omogočeno posredovanje kombinacij tipk v GDB, ki niso obdelane v TUI.
  • Dodana podpora za mehanizem ARMv8.5 MTE (MemTag, Memory Tagging Extension), ki vam omogoča, da oznake povežete z vsako operacijo dodeljevanja pomnilnika in organizirate preverjanje kazalca pri dostopu do pomnilnika, ki mora biti povezan s pravilno oznako. Protokol za nadzor oddaljenega odpravljanja napak zagotavlja podporo za paketa »qMemTags« in »QMemTags« za vezavo oznak na pomnilnik.
  • Logika za branje konfiguracijskih datotek je bila spremenjena. Datoteka .gdbinit je zdaj preverjena v naslednjem vrstnem redu: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit in $HOME/.gdbinit. Tisti. najprej v podimeniku config in šele nato v domačem imeniku.
  • V ukazu “break […] if CONDITION” se izpis napake ustavi, ko je pogoj na določenih mestih neveljaven, če je pogoj veljaven vsaj v enem primeru.
  • Dodana podpora za odpravljanje napak jedrnih izpisov, ustvarjenih za programe Cygwin, prevedene za arhitekturo x86_64.
  • Dodana podpora za tipe s fiksno vejico ter konstanti DW_AT_GNU_numerator in DW_AT_GNU_denominator.
  • Dodana nastavitev »zagon-tiho vklop|izklop«; ko je »vklopljen«, podobno kot možnost »-tiho«.
  • Ukaz "ptype" implementira možnosti /x" in "/d" za izbiro šestnajstiškega ali decimalnega števila pri prikazovanju velikosti in odmikov. Dodana nastavitev »print type hex on|off« za uporabo šestnajstiških vrednosti v izhodu ukaza 'ptype'.
  • V ukazu "inferior", ko ga kličete brez argumentov, je zagotovljen izhod trenutnega objekta za odpravljanje napak (inferior).
  • Izhod ukaza »info source« je bil predelan.
  • Dodan ukaz »style version foreground | ozadje | intenzivnost« za nadzor sloga oštevilčevanja različic.
  • Dodane nove možnosti ukazne vrstice: “—early-init-command” (“-eix”), “—early-init-eval-command” (“-eiex”), “—qualified” (za ukaze '-break-insert ) ' in '-dprintf-insert'), "--force-condition" (za ukaza '-break-insert' in '-dprintf-insert'), "--force" (za '-break-condition ' ukaz).
  • Ukaz “-file-list-exec-source-files” vam omogoča, da določite regularne izraze za filtriranje izvornih datotek, ki jih je treba obdelati. Izhodu je bilo dodano polje 'debug-fully-read', ki označuje obseg, do katerega so bile naložene informacije o odpravljanju napak.
  • API za Python je bil izboljšan. Dodani novi metodi gdb.Frame.level() in db.PendingFrame.level() za vrnitev ravni sklada za objekt Frame. Ko se sproži lovilna točka, Python API zagotovi, da se pošlje gdb.BreakpointEvent namesto gdb.StopEvent. Dodane nastavitve »python ignore-environment on|off« za prezrtje spremenljivk okolja in »python dont-write-bytecode auto|on|off« za onemogočanje pisanja bajtne kode.
  • API Guile je bil izboljšan. Dodane so bile nove procedure vrednost-referenca-vrednost, vrednost-rvrednost-referenca-vrednost in vrednost-konstanta-vrednost.
  • Zahtevane odvisnosti sestava vključujejo knjižnico GMP (GNU Multiple Precision Arithmetic).
  • Podpora za platformo ARM Symbian (arm*-*-symbianelf*) je bila ukinjena.

Vir: opennet.ru

Dodaj komentar