Прадстаўлены рэліз адладчыка GDB 16.1 (першы выпуск серыі 16.x, галінка 16.0 выкарыстоўвалася для распрацоўкі). GDB падтрымлівае адладку на ўзроўні зыходных тэкстаў для шырокага спектру моў праграмавання (Ada, C, C ++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust і г.д.) на розных апаратных (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch і т.д.Linux, *BSD, Unix, Windows, macOS).
Найбольш прыкметныя паляпшэнні:
- Для Linux-акружэнняў на сістэмах з архітэктурай LoongArch рэалізаваная падтрымка запісу і паўторнага выканання (record/replay).
- Для тэгаваных паказальнікаў, частка бітаў у якіх выкарыстоўваецца для захоўвання дадатковых дадзеных, рэалізаваная падтрымка кропак супыну, якія спрацоўваюць пры змене дадзеных (watchpoint).
- На сістэмах з архітэктурай AArch64 рэалізавана падтрымка адладкі механізму абароны MTE (Memory Tagging Extension). MTE дае магчымасць прывязаць тэгі да абласцей у памяці і арганізаваць праверку карэктнасці выкарыстання паказальнікаў для блакавання эксплуатацыі ўразлівасцяў, выкліканых некарэктнай працай з памяццю.
- Дададзены bash-скрыпт gstack, выкарыстоўвалы GDB для высновы трасіровак стэка працавальных працэсаў.
- Для кропак прыпынак у стане чакання (pending) ключавыя словы 'thread' і 'task' зараз разбіраюцца падчас стварэння кропкі супыну, а не пасля выйсця са стану чакання.
- Забяспечана падстаноўка кропак супыну, прывязаных да струменяў, толькі ў тую вобласць праграмы, у якой выконваецца неабходны струмень.
- Пашыраны магчымасці трасіроўкі на працэсарах Intel: пры пакрокавай адладцы, а таксама ў камандах "record instruction-history" і "record function-call-history" рэалізаваны выснова асінхронных падзей і дадзеных, якія захоўваюцца пры выкарыстанні інструкцыі ptwrite.
- У Python API дададзены: модуль gdb.missing_objfile, падзея gdb.tui_enabled, атрыбут gdb.Symbol.is_artificial і функцыя gdb.record.clear.
- Пашыраны магчымасці пратаколу DAP (Debugger Adapter Protocol), звязаныя з апрацоўкай запытаў "scopes", "launch" і "attach".
- У пратакол выдаленай адладкі дададзена падтрымка пакетаў "vFile:stat" і "x addr, length".
- Спынена падтрымка QNX Neutrino, Nios II і Intel MPX.
Крыніца: opennet.ru
