Выпуск адладчыка GDB 13

Прадстаўлены рэліз адладчыка GDB 13.1 (першы выпуск серыі 13.x, галінка 13.0 выкарыстоўвалася для распрацоўкі). GDB падтрымлівае адладку на ўзроўні зыходных тэкстаў для шырокага спектру моў праграмавання (Ada, C, C ++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust і г.д.) на розных апаратных (i386, amd64, ARM, Power, Sparc, RISC-V і г.д.) і праграмных платформах (GNU/Linux, BSD, Unix, Windows, macOS).

Ключавыя паляпшэнні:

  • Дададзена падтрымка запуску адладчыка і GDBserver на архітэктурах GNU/Linux/LoongArch і GNU/Linux/CSKY.
  • Рэалізаваная падтрымка працы на платформе Windows у асінхронным рэжыме (async).
  • На платформе FreeBSD для архітэктур ARM і AArch64 дададзеная падтрымка зменных TLS (Thread Local Storage), а для архітэктуры AArch64 прадстаўлена магчымасць выкарыстання апаратных кропак супыну (watchpoint).
  • У асяроддзі GNU/Linux на сістэмах LoongArch дададзеная падтрымка вылічэнняў з якая плавае коскі.
  • Рэалізаваны новыя каманды "maintenance set ignore-prologue-end-flag|libopcodes-styling" і "maintenance print frame-id", а таксама каманды для кіравання стылем дызасэмбаванай высновы (set style disassembler *).
  • Дададзеныя каманды "set print nibbles [on | off]" і "show print nibbles" для кіравання адлюстраваннем бінарных значэнняў у чатырохбайтавых групах.
  • Унесены паляпшэнні ў Python API. Дададзены API для дызасэмблявання інструкцый, рэалізаваны тып gdb.BreakpointLocation, дададзены функцыі gdb.format_address, gdb.current_language і gdb.print_options.
  • У праграмным інтэрфейсе кіравання GDB/MI абвешчана састарэлай першая версія інтэрфейсу MI, якая будзе выдалена ў галінцы GDB 14.
  • У ELF-файлах дададзена падтрымка адладкавых секцый, сціснутых з выкарыстаннем алгарытму zstd.
  • Дададзены новыя ўбудаваныя зменныя: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Фармат вываду каманд 'disassemble /r' і 'record instruction-history /r' прыведзены ў адпаведнасць з высновай objdump. Для вяртання старога фармату дададзены рэжым "/b".
  • У інтэрфейсе TUI (Text User Interface) адключаная стылізацыя зыходнага і асэмблернага кода, вылучанага індыкатарам бягучай пазіцыі.
  • Дадзена магчымасць выкарыстання каманды "document" для дакументавання карыстацкіх каманд.
  • Дададзена магчымасць стварэння дампаў з дадзенымі тэгаў памяці, якія ўжываюцца пры выкарыстанні механізму ARMv8.5 MTE (MemTag, Memory Tagging Extension), які дазваляе прывязаць тэгі да кожнай аперацыі вылучэння памяці і арганізаваць пры доступе да памяці праверку паказальніка, які павінен быць злучаны з карэктным тэгам.
  • Спынена падтрымка рэжыму сумяшчальнасці з DBX.
  • Спынена падтрымка зборкі з выкарыстаннем Python 2.
  • Выдалены каманды "set debug aix-solib on | off", "show debug aix-solib", "set debug solib-frv on | off" і "show debug solib-frv", замест якіх варта выкарыстоўваць каманды "set/show debug solib».

Крыніца: opennet.ru

Дадаць каментар