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

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

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