Представлено реліз відладчика 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