Выпуск отладчика GDB 9
9 февраля 2020 года
Представлен релиз отладчика 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).
Ключевые улучшения (Архивная копия от 30 мая 2022 на Wayback Machine):
- Прекращена поддержка платформ 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.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.