Прадстаўлены рэліз адладчыка 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