04.07.2022

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

Представлен релиз отладчика GDB 12.1 (первый выпуск серии 12.x, ветка 12.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).

Ключевые улучшения:

  • По умолчанию включён многопоточный режим загрузки отладочных символов, ускоряющий запуск.
  • Улучшена поддержка шаблонов C++.
  • Реализована поддержка работы на платформе FreeBSD в асинхронном режиме (async).
  • Предоставлена возможность отключения использования GNU Source Highlight и задействование для подсветки синтаксиса библиотеки Pygments.
  • В команде «clone-inferior» реализована проверка копирования настроек TTY, CMD и ARGS из оригинального объекта отладки (inferior) в новый объект отладки. Также обеспечено копирование в новый объект отладки всех изменений переменных окружения, выполненных при помощи команд ‘set environment’ или ‘unset environment’.
  • В команде «print» реализована поддержка вывода чисел с плавающей запятой с указанием формата базового значения, например, в шестнадцатеричном виде («/x»).
  • Добавлена поддержка запуска отладчика и GDBserver на архитектуре GNU/Linux/OpenRISC (or1k*-*-linux*). Добавлена поддержка отладки приложений для целевой платформы GNU/Linux/LoongArch (loongarch*-*-linux*). Прекращена поддержка целевой платформы S+core (score-*-*).
  • GDB 12 объявлен последним выпуском для которого поддерживается сборка с использованием Python 2.
  • Объявлен устаревшим и будет удалён в ветке GDB 13 режим совместимости с DBX.
  • В программном интерфейсе управления GDB/MI разрешено применение команды ‘-add-inferior’ без параметров или вместе с флагом ‘—no-connection’ для наследования соединения из текущего объекта отладки или запуска без соединения.
  • Внесены улучшения в Python API. Предоставлена возможность реализации команд GDB/MI на языке Python. Добавлены новые события gdb.events.gdb_exiting и gdb.events.connection_removed,
    функция gdb.Architecture.integer_type(), объект gdb.TargetConnection, свойство gdb.Inferior.connection, метод gdb.RemoteTargetConnection.send_packet и атрибуты gdb.InferiorThread.details, gdb.Type.is_scalar и gdb.Type.is_signed.

Источник.