Прадстаўлены рэліз адладчыка GDB 12.1 (першы выпуск серыі 12.x, галінка 12.0 выкарыстоўвалася для распрацоўкі). GDB падтрымлівае адладку на ўзроўні зыходных тэкстаў для шырокага спектру моў праграмавання (Ada, C, C ++, Objective-C, Pascal, Go, Rust і г.д.) на розных апаратных (i386, amd64, ARM, Power, Sparc, RISC- V і г.д.) і праграмных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Ключавыя паляпшэнні:
- Па змаўчанні ўключаны шматструменны рэжым загрузкі адладкавых знакаў, які паскарае запуск.
- Палепшана падтрымка шаблонаў C++.
- Рэалізаваная падтрымка працы на платформе FreeBSD у асінхронным рэжыме (async).
- Прадастаўлена магчымасць адключэння выкарыстання GNU Source Highlight і задзейнічанне для падсветкі сінтаксісу бібліятэкі Pygments.
- У камандзе "clone-inferior" рэалізавана праверка капіявання налад TTY, CMD і ARGS з арыгінальнага аб'екта адладкі (inferior) у новы аб'ект адладкі. Таксама забяспечана капіраванне ў новы аб'ект адладкі ўсіх змен зменных асяроддзі, выкананых пры дапамозе каманд 'set environment' або 'unset environment'.
- У камандзе "print" рэалізавана падтрымка вываду лікаў з плаваючай коскай з указаннем фармату базавага значэння, напрыклад, у шаснаццатковым выглядзе ("/x").
- Дададзена падтрымка запуску адладчыка і GDBserver на архітэктуры GNU/Linux/OpenRISC (or1k*-*-linux*). Дададзена падтрымка адладкі прыкладанняў для мэтавай платформы GNU/Linux/LoongArch (loongarch*-*-linux*). Спынена падтрымка мэтавай платформы S+core (score-*-*).
- GDB 12 абвешчаны апошнім выпускам для якога падтрымліваецца зборка з выкарыстаннем Python 2.
- Абвешчаны састарэлым і будзе выдалены ў галінцы GDB 13 рэжым сумяшчальнасці з DBX.
- У праграмным інтэрфейсе кіравання GDB/MI дазволена ўжыванне каманды '-add-inferior' без параметраў або разам са сцягам '—no-connection' для ўспадкоўвання злучэння з бягучага аб'екта адладкі ці запуску без злучэння.
- Унесены паляпшэнні ў Python API. Дадзена магчымасць рэалізацыі каманд GDB/MI на мове Python. Дададзены новыя падзеі gdb.events.gdb_exiting і gdb.events.connection_removed, функцыя gdb.Architecture.integer_type(), аб'ект gdb.TargetConnection, уласцівасць gdb.Inferior.connection, метад gdb.RemoteTargetConnection.send_packet і атрыбуты gdb. gdb.Type.is_scalar і gdb.Type.is_signed.
Крыніца: opennet.ru