Выпуск отладчика GDB 9
Представлен релиз отладчика GDB 9.1 (первый выпуск серии 9.x, ветка 9.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Ключевые улучшения:
- Прекращена поддержка платформ Solaris 10 и Cell Broadband Engine;
- Добавлен новый симулятор подсистемы PRU (Programmable Real-time Unit), используемой в процессорах Texas Instruments (pru-*-elf);
- Добавлен экспериментальный режим быстрой загрузки отладочных символов в многопоточном режиме (включается через настройку 'maint set worker-threads unlimited');
- Обеспечена возможность использования в именах команд символа '.';
- Добавлена возможность установки точек останова на вложенные функции и подпрограммы в Fortran;
- Проведена работа по приведению к единому стилю и улучшению читаемости команд;
- Реализована штатная инфраструктура для передачи аргументов команд c применением символа тире ('-OPT'), что позволяет применять автодополнение клавишей табуляции;
- В командах «printf» и «eval» реализована поддержка вывода строк в стилях Си и Ада без непосредственного вызова функции в программе;
- В команде «info sources» добавлена поддержка фильтрации выводимых файлов на основе регулярного выражения;
- В настройке «set print frame-arguments» реализован параметр «presence», при установке которого для аргументов выводится лишь индикатор присутствия »…» вместо вывода имени и значения;
- В интерфейсе TUI команды «focus», «winheight»,»+»,»-»,»›»,»‹» теперь чувствительны в регистру символов;
- Для команд «print», «compile print», «backtrace», «frame apply», «tfaas» и «faas» реализованы опции для переопределения глобальных настроек (например, выставляемых через «set print […]»);
- В команду «info types» добавлена опция »-q» для отключения вывода некоторых заголовков;
- В настройках вместо значения «unlimited» теперь можно указывать «u»;
- Добавлены новые команды:
- «define-prefix» для определения собственных префиксных команд;
- »|» или «pipe» для запуска команды и перенаправления вывода в команду программной оболочки (shell);
- «with» для запуска указанной команды с временно изменёнными настройками;
- «set may-call-functions» для управления возможностью вызова подпрограммы из GDB;
- «set print finish [on|off]» для управления отображением возвращаемого значения при использовании команды «finish»;
- «set print max-depth» для ограничения вывода вложенных структур;
- «set print raw-values [on|off]» для включения/выключения форматирования выводимых значения;
- «set logging debugredirect [on|off]» для управления сохранением отладочного вывода в лог-файл;
- Серия новых команд «set style»;
- «set print frame-info […]» для определения информации, которую следует выводить при отображении состояния кадра стека;
- «set tui compact-source» для включения компактного режима отображения кода в интерфейсе TUI (Text User Interface);
- «info modules […]» для запроса сведений о модулях Fortran;
- Вместо «set/show print raw frame-arguments» предложена команда «set/show print raw-frame-arguments» (в качестве разделителя использует тире вместо пробела);
- В программный интерфейс управления GDB/MI добавлены новые команды »-complete»,»-catch-throw»,»-catch-rethrow»,»-catch-catch»,»-symbol-info-functions»,»-symbol-info-types»,»-symbol-info-variables»,»-symbol-info-modules»,»-symbol-info-module-functions» и »-symbol-info-module-variables», эквивалентные аналогичным командам GDB. По умолчанию активирована третья версия интерпретатора MI (-i=mi3);
- Добавлены новые встроенные переменные:
- $_gdb_major, $_gdb_minor;
- $_gdb_setting, $_gdb_setting_str, $_gdb_maint_setting,
- $_gdb_maint_setting_str
- $_cimag, $_creal
- $_shell_exitcode, $_shell_exitsignal
- В сборочный скрипт configure добавлена опция »--with-system-gdbinit-dir» для определения пути к системным файлам gdbinit;
- Внесена порция улучшений в Python API. Добавлена возможность сборки c Python 3 в Windows;
- Повышены требования к сборочному окружению. Для сборки GDB и GDBserver теперь требуется как минимум GNU make 3.82. При сборке с внешней библиотекой readline требуется как минимум GNU readline 7.0.
Источник: http://www.opennet.ru/opennews/art.shtml? num=52342
© OpenNet