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

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

Наиболее заметные улучшения:

  • Добавлена поддержка платформ GNU/Linux/MicroBlaze (microblazeel-*linux*) и AArch64 MinGW (aarch64-*-mingw*). Объявлена устаревшей и намечена для удаления 32-разрядная архитектура s390 (s390-*).
  • Для платформы Windows реализована поддержка режима «non-stop» (для Windows 10 и новее), блокировки планировщика командой «set scheduler-locking on» и нативных переменных TLS (Thread Local Storage). При запуске в Windows Terminal обеспечена поддержка 24-битных цветов, emoji и кодировки UTF-8. В интерфейсах CLI, TUI, MI и DAP включена нормализация использование слэша в файловых путях (всегда используется C:/proj/src/main.c вместо C:/proj/srcmain.c)
  • Для решения проблем с поиском типов в индекс .gdb_index теперь добавляются все отладочные символы типов.
  • В команде «info locals» реализовано отображение аннотации «shadowed» для внешних переменных, перекрываемых внутренними переменными с тем же именем. Для управления выводом добавлена настройка «set print shadowed on|off».
  • В командах «set args», «run», «start» и «starti» реализована возможность передачи аргументов, содержащих символы новой строки, заключённые в кавычки.
  • В GDB и gdbserver добавлен флаг «—no-escape-args» для отключения экранирования специальных символов в аргументах.
  • Для архитектуры AArch64 реализована поддержка регистра FPMR (Floating Point Mode Register).
  • Добавлена начальная поддержка загрузки core-файлов, сформированных на системах с поддержкой Intel AMX.
  • Добавлена поддержка событий трассировки, обрабатываемых библиотекой libipt 2.2.
  • При отладке через последовательный порт добавлена возможность указания нестандартных скоростей передачи.
  • В команду help добавлен режим «essential» с обзором минимального набора команд, которые могут потребоваться новому пользователю GDB.
  • Добавлены команды:
    • set/show/unset local-environment — аналог «set/show/unset environment», влияющий на окружение подпроцессов, запускаемых самим GDB (например, через shell или pipe).
    • save history, save skip, save user — сохраняет в файл историю команд, операции skip и пользовательские команды.
    • info proc environ — показывает переменные окружения процесса.
    • set/show progress-bars enabled — управление показом индикаторов прогресса.
    • delete skip, enable skip, disable skip — псевдонимы команд skip delete/enable/disable.
    • set/show debug gnu-ifunc и set/show debug ctf.
  • Удалена поддержка первой версии формата DWP (DWARF Package File), форматов отладочной информации stabs и mdebug. Прекращена возможность сохранении результата трассировки в формате CTF (Common Trace Format).
  • В следующей версии запланировано разделение режимов Windows ABI GNU (для кода, сгенерированного через инструментарий MinGW) и MSVC (для кода, собранного компиляторами MSVC и Clang). Для выбора Windows ABI в команде «set osabi» потребуется указывать значения «Windows-GNU» и «Windows-MSVC». Ныне используемое значение Windows автоматически будет выбирать нужный режим в зависимости от аргумента «—target» (—target=x86_64-pc-windows-msvc или —target=x86_64-w64-mingw32).

Источник: http://www.opennet.ru/opennews/art.shtml?num=66345