Выпуск отладчика GDB 13

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

Добавить комментарий