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

25 октября 2020 года

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

Ключевые улучшения (Архивная копия от 30 мая 2022 на Wayback Machine):

  • Добавлена поддержка новой отладочной цели BPF (bpf-unknown-none), позволяющей отлаживать программы eBPF, которые используются в ядре Linux для создания обработчиков, выполняемых в специальной виртуальной машине с JIT. Для обеспечения отладки в GDB добавлен симулятор BPF (Архивная копия от 6 сентября 2020 на Wayback Machine).
  • Реализован экспериментальный режим отладки с использованием нескольких отладочных целей (мulti-target), который позволяет проводить одновременную отладку нескольких целевых соединений. Например, можно отлаживать несколько экземпляров контролируемого при помощи GDB процесса (inferior (Архивная копия от 15 апреля 2020 на Wayback Machine)), запущенного на разных внешних системах, или отлаживать локальный процесс одновременно с отладкой core-дампа.
  • Добавлена поддержка сервиса debuginfod, представляющего собой HTTP-сервер для отдачи отладочной информации ELF/DWARF и исходных текстов. При сборке с поддержкой debuginfod, GDB может автоматически подсоединяться к серверам debuginfod для загрузки недостающей отладочной информации об обрабатываемых файлах или разделения отладочных файлов и исходных текстов для отлаживаемого исполняемого файла. Для сборки GDB с debuginfod в скрипте configure следует указать опцию "--with-debuginfod" и обеспечить доступ к библиотеке libdebuginfod, поставляемой в наборе elfutils.
  • Предоставлена возможность отладки 32-разрядных программ Windows в 64-разрядной сборке GDB.
  • Проведена работа по сокращению времени запуска через включение по умолчанию быстрой загрузки отладочных символов в многопоточном режиме.
  • Внесены улучшения в интерфейс TUI (Text User Interface), например, появилась поддержка горизонтальной расстановки окон.
  • При прикреплении процесса реализовано определение не соответствия между прикрепляемым процессом и процессом, ранее загруженным в GDB.
  • В команде "alias" реализована возможность задания аргументов по умолчанию, которые будут всегда передаваться целевой команде при запуске команды-псевдонима, помимо аргументов указанных пользователем.
  • При выводе справки теперь отсеиваются дубликаты и полная документация показывается только один раз, без повторения для команд-псевдонимов. Команда 'help aliases' теперь показывает только псевдонимы, определённые пользователем, а встроенные псевдонимы показываются вместе с исходной командой к которой они привязаны.
  • Добавлены новые команды:
  • "set exec-file-mismatch" и "show exec-file-mismatch" для установки (ask|warn|off) и показа содержимого опции 'exec-file-mismatch', определяющей реакцию при выявлении расхождений между прикрепляемым и уже загруженным процессом в GDB.
  • "tui new-layout NAME WINDOW WEIGHT [WINDOW WEIGHT]..." для определения раскладки окон в интерфейсе TUI.
  • "maintenance print xml-tdesc [FILE]" для вывода описания текущего документа XML.
  • "maintenance print core-file-backed-mappings" для вывода таблицы маппинга, загруженной из core-файлов (формат вывода напоминает команду "info proc mappings").
  • Добавлена возможность сборки GDB с GNU Guile 3.0 и 2.2 (ранее поддерживался только Guile 2.0). Внесена порция улучшений в API для Python и Guile.
  • В GDBserver добавлена поддержка платформ RISC-V GNU/Linux и ARC GNU/Linux.
  • В GDBserver прекращена поддержка платформ i[34567]86-*-lynxos*, powerpc-*-lynxos*, i[34567]86-*-nto*, bfin-*-*linux*, crisv32-*-linux*, cris-*-linux*, m32r*-*-linux*, tilegx-*-linux*, arm*-*-mingw32ce*, i[34567]86-*-mingw32ce*.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Выпуск отладчика GDB 10», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.