Випуск відладчика 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

Додати коментар або відгук