Выпуск отладчика 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*).



Источник: http://www.opennet.ru/opennews/art.shtml? num=55810

© OpenNet