Представлен релиз отладчика 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). Ключевые улучшения: Добавлена поддержка новой отладочной цели BPF (bpf-unknown-none), позволяющей отлаживать программы eBPF, которые используются в ядре Linux для создания обработчиков, выполняемых в специальной виртуальной машине с JIT. Для обеспечения отладки в GDB добавлен симулятор BPF. Реализован экспериментальный режим отладки с использованием нескольких отладочных целей (мulti-target), который позволяет проводить одновременную отладку нескольких целевых соединений. Например, можно отлаживать несколько экземпляров контролируемого при помощи GDB процесса (inferior), запущенного на разных внешних системах, или отлаживать локальный процесс одновременно с отладкой 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*.
Источник: http://www.opennet.ru/opennews/art.shtml?num=53956
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев