Представлено реліз відладчика GDB 13.1 (перший випуск серії 13.x, гілка 13.0 використовувалася для розробки). GDB підтримує налагодження на рівні вихідних текстів для широкого спектру мов програмування (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust і т.д.) на різних апаратних (i386, amd64, ARM, Power, Sparc, RISC-V і т.д.) та програмних платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Ключові покращення:
- Добавлена поддержка запуска отладчика и GDBserver на архитектурах GNU/Linux/LoongArch и GNU/Linux/CSKY.
- Реализована поддержка работы на платформе Windows в асинхронном режиме (async).
- На платформе FreeBSD для архитектур ARM и AArch64 добавлена поддержка переменных TLS (Thread Local Storage), а для архитектуры AArch64 предоставлена возможность использования аппаратных точек останова (watchpoint).
- В окружении GNU/Linux на системах LoongArch добавлена поддержка вычислений с плавающей запятой.
- Реализованы новые команды «maintenance set ignore-prologue-end-flag|libopcodes-styling» и «maintenance print frame-id», а также команды для управления стилем дизассемблируемого вывода (set style disassembler *).
- Добавлены команды «set print nibbles [on|off]» и «show print nibbles» для управления отображением бинарных значений в четырёхбайтовых группах.
- Внесены улучшения в Python API. Добавлен API для дизассемблирования инструкций, реализован тип gdb.BreakpointLocation, добавлены функции gdb.format_address, gdb.current_language и gdb.print_options.
- В программном интерфейсе управления GDB/MI объявлена устаревшей первая версия интерфейса MI, которая будет удалена в ветке GDB 14.
- В ELF-файлах добавлена поддержка отладочных секций, сжатых с использованием алгоритма zstd.
- Добавлены новые встроенные переменные: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
- Формат вывода команд ‘disassemble /r’ и ‘record instruction-history /r’ приведён в соответствие с выводом objdump. Для возвращения старого формата добавлен режим «/b».
- В интерфейсе TUI (Text User Interface) отключена стилизация исходного и ассемблерного кода, выделенного индикатором текущей позиции.
- Предоставлена возможность использования команды «document» для документирования пользовательских команд.
- Добавлена возможность создания дампов с данными тегов памяти, применяемых при использовании механизма ARMv8.5 MTE (MemTag, Memory Tagging Extension), позволяющего привязать теги к каждой операции выделения памяти и организовать при доступе к памяти проверку указателя, который должен быть связан с корректным тегом.
- Прекращена поддержка режима совместимости с DBX.
- Прекращена поддержка сборки с использованием Python 2.
- Удалены команды «set debug aix-solib on|off», «show debug aix-solib», «set debug solib-frv on|off» и «show debug solib-frv», вместо которых следует использовать команды «set/show debug solib».
Джерело: opennet.ru