Дата публикации:Sun, 03 Dec 2023 18:40:04 +0300
Представлен релиз отладчика GDB 14.1 (первый выпуск серии 14.x, ветка 14.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++17. Для сборки GCC теперь необходим компилятор, поддерживающий C++17 (как минимум GCC 9).
В индекс добавлена информация о функции main, что позволяет ускорить запуск при использовании с некоторыми большими исполняемыми файлами.
Прекращена поддержка ОС AIX 4.x, 5.x и 6.x (в качестве минимально поддерживаемой версии AIX заявлен выпуск 7.1).
Добавлена начальная встроенная поддержка протокола DAP (Debugger Adapter Protocol).
Добавлена поддержка переменной окружения NO_COLOR.
Добавлена начальная поддержка целочисленных типов, размером больше 64 битов.
Добавлена поддержка точек останова, привязанных к отдельным объектам отладки (при отладке нескольких процессов).
Добавлена функция "$_shell" для запуска команды в командной оболочке и возвращения результата.
Внесены улучшения в Python API:
Добавлены классы gdb.Thread, gdb.unwinder.FrameId и gdb.ValuePrinter.
Добавлены атрибуты
gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename.
Добавлены функции
gdb.execute_mi(COMMAND, [ARG]...), gdb.block_signals().
Добавлены методы gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' и 'unset_env', gdb.Type 'is_array_like' и 'is_string_like', gdb.Value 'assign', gdb.Value 'to_array', gdb.Progspace 'objfile_for_address', gdb.LazyString __str__. Добавлены события gdb.ThreadExitedEvent,
gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent.
Улучшена поддержка архитектуры AArch64. Добавлена поддержка расширений SME (Scalable Matrix Extension) и SME2.
Улучшена поддержка языка Ada и спецификации Ada 2022.
В команду 'list' добавлена поддержка аргумента '.' для вывода местоположения точки выполнения в текущем кадре стека.
В команды printf и dprintf добавлен спецификатор формата '%V'.
В команде printf размер строки, извлекаемой из объекта отладки, ограничен значением настройки 'max-value-size'.
Добавлена сборочная опция "--additional-debug-dirs=PATH", задающая значение по умолчанию для параметра 'debug-file-directory'.
Добавлена новая команда "info main" для извлечения символа main, указывающего на точку входа в программу.
Добавлены новые команды:
- "set debug breakpoint on|off"
"set tui mouse-events [on|off]"
"set always-read-ctf on|off"
"maintenance print record-instruction [ N ]"
"maintenance info frame-unwinders"
"maintenance wait-for-index-cache"
Новость позаимствована с opennet.ru
Ссылка на оригинал: https://www.opennet.ru/opennews/art.shtml?num=60227