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

Представлен релиз отладчика GDB 16.1 (первый выпуск серии 16.x, ветка 16.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

Наиболее заметные улучшения:

  • Для Linux-окружений на системах с архитектурой LoongArch реализована поддержка записи и повторного выполнения (record/replay).

  • Для теггированных указателей, часть битов в которых используется для хранения дополнительных данных, реализована поддержка точек останова, срабатывающих при изменении данных (watchpoint).

  • На системах с архитектурой AArch64 реализована поддержка отладки механизма защиты MTE (Memory Tagging Extension). MTE даёт возможность привязать теги к областям в памяти и организовать проверку корректности использования указателей для блокирования эксплуатации уязвимостей, вызванных некорректной работой с памятью.
  • Добавлен bash-скрипт gstack, использующий GDB для вывода трассировок стека работающих процессов.

  • Для точек остановка в состоянии ожидания (pending) ключевые слова 'thread' и 'task' теперь разбираются во время создания точки останова, а не после выхода из состояния ожидания.

  • Обеспечена подстановка точек останова, привязанных к потокам, только в ту область программы, в которой выполняется необходимый поток.

  • Расширены возможности трассировки на процессорах Intel: при пошаговой отладке, а также в командах «record instruction-history» и «record function-call-history» реализован вывод асинхронных событий и данных, сохраняемых при использовании инструкции ptwrite.

  • В Python API добавлены: модуль gdb.missing_objfile, событие gdb.tui_enabled, атрибут gdb.Symbol.is_artificial и функция gdb.record.clear.

  • Расширены возможности протокола DAP (Debugger Adapter Protocol), связанные с обработкой запросов «scopes», «launch» и «attach».

  • В протокол удалённой отладки добавлена поддержка пакетов «vFile: stat» и «x addr, length».

  • Прекращена поддержка QNX Neutrino, Nios II и Intel MPX.



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

© OpenNet