Прадстаўлены рэліз адладчыка GDB 11.1 (першы выпуск серыі 11.x, галінка 11.0 выкарыстоўвалася для распрацоўкі). GDB падтрымлівае адладку на ўзроўні зыходных тэкстаў для шырокага спектру моў праграмавання (Ada, C, C ++, Objective-C, Pascal, Go, Rust і г.д.) на розных апаратных (i386, amd64, ARM, Power, Sparc, RISC- V і г.д.) і праграмных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Ключавыя паляпшэнні:
- Ва ў інтэрфейс TUI (Text User Interface) дададзеная падтрымка дзеянняў мышшу і магчымасці пракруткі змесціва колам мышы. Забяспечаны пракід у GDB камбінацый клавіш, якія не апрацоўваюцца ў TUI.
- Дададзена падтрымка механізму ARMv8.5 MTE (MemTag, Memory Tagging Extension), які дазваляе прывязаць тэгі да кожнай аперацыі вылучэння памяці і арганізаваць пры доступе да памяці праверку паказальніка, які павінен быць злучаны з карэктным тэгам. У пратаколе выдаленага кіравання адладкай для прывязкі тэгаў да памяці забяспечана падтрымка пакетаў "qMemTags" і "QMemTags".
- Зменена логіка чытання файлаў канфігурацыі. Файл .gdbinit зараз правяраецца ў наступным парадку: $XDG_CONFIG_HOME/gdb/gdbinit, $HOME/.config/gdb/gdbinit і $HOME/.gdbinit. Г.зн. спачатку ў падкаталогу config, а ўжо потым у хатнім каталогу.
- У камандзе «break […] if CONDITION» спынены вывад памылкі пры недапушчальнасці ўмовы ў пэўных месцах, калі ўмова дапушчальная хаця б у адным выпадку.
- Дададзена падтрымка адладкі core-дампаў, згенераваных для праграм Cygwin, сабраных для архітэктуры x86_64.
- Дададзена падтрымка тыпаў з фіксаванай коскай, а таксама канстант DW_AT_GNU_numerator і DW_AT_GNU_denominator.
- Дададзена настройка "startup-quietly on|off" setting; when "on", аналагічная опцыі "-silent".
- У камандзе "ptype" рэалізаваны опцыі /x" і "/d" для выбару шаснаццатковага або дзесятковага вылічэння пры вывадзе памераў і зрушэнняў. Дададзена настройка "print type hex on|off" для выкарыстання шаснаццатковых значэнняў у выснове каманды 'ptype'.
- У камандзе "inferior" пры выкліку без аргументаў забяспечаны вывад бягучага аб'екта адладкі (inferior).
- Перапрацаваны вывад каманды "info source".
- Дададзена каманда style version foreground | background | intensity» для кіравання стылем нумарацыі версій.
- Дабаўлены новыя опцыі каманднага радка: "-early-init-command" ("-eix"), "-early-init-eval-command" ("-eiex"), "-qualified" (для каманд '-break-insert ' і '-dprintf-insert'), "—force-condition" (для каманд '-break-insert' і '-dprintf-insert'), "—force" (для каманды '-break-condition').
- У камандзе «-file-list-exec-source-files' дазволена ўказанне рэгулярных выразаў для адсявання апрацоўваных зыходных файлаў. У выснову дададзена поле 'debug-fully-read' для інфармавання аб ступені загрузкі адладкавай інфармацыі.
- Унесены паляпшэнні ў Python API. Дададзеныя новыя метады gdb.Frame.level() і db.PendingFrame.level() для вяртання ўзроўня стэка для аб'екта Frame. Пры спрацоўванні кропкі захопу (catchpoint) у Python API забяспечана перадача gdb.BreakpointEvent замест gdb.StopEvent. Дададзеныя налады "python ignore-environment on|off" для ігнаравання зменных асяроддзі і "python dont-write-bytecode auto|on|off" для адключэння запісу байткода.
- Унесены паляпшэнні ў Guile API. Дададзены новыя працэдуры value-reference-value, value-rvalue-reference-value і value-const-value.
- У лік абавязковых зборачных залежнасцяў уключана бібліятэка GMP (GNU Multiple Precision Arithmetic).
- Спынена падтрымка платформы ARM Symbian (arm*-*-symbianelf*).
Крыніца: opennet.ru