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

Представлен релиз отладчика GDB 8.3, поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

Ключевые улучшения:

  • В интерфейсах CLI и TUI реализована возможность определения стиля терминала (добавлена команда «set style»). При наличии GNU Highlight реализована подсветка исходных текстов;
  • Реализована экспериментальная поддержка компиляции и подстановки исходного кода на языке C++ в контролируемый при помощи GDB процесс (inferior). Для работы требуется наличие как минимум версии GCC 7.1 б, собранной с libcp1.so;
  • В GDB и GDBserver добавлена поддержка IPv6. Для задания адресов IPv6 следует использовать формат »[ADDRESS]: PORT»;
  • Для целевых систем RISC-V добавлена поддержка описания цели в формате XML (Target Description Format);
  • На платформе FreeBSD обеспечена поддержка установки точек перехвата (catchpoint) на системные вызовы, используя их псевдонимы, специфичные для разных ABI (например, для 'kevent' доступен псевдоним 'freebsd11_kevent' для привязки к старому ABI);
  • В команду «target remote» добавлена поддержка Unix-сокетов (Unix Domain socket);
  • Добавлена возможность отображения всех файлов, открытых процессом (команда «info proc files»);
  • Реализована возможность автоматического сохранения на диск индексов символов DWARF для ускорения последующей загрузки того же исполняемого файла;
  • В GDBserver для платформы PowerPC GNU/Linux добавлена поддержка доступа к регистрам PPR, DSCR, TAR, EBB/PMU и HTM;
  • Добавлены новые команды «set/show debug compile-cplus-types» и «set/show debug skip» для настройки вывода данных о преобразованиях типов C++ и информации о пропускаемых файлах и функциях;
  • Добавлены команды «frame apply COMMAND», «taas COMMAND», «faas COMMAND», «tfaas COMMAND» для применения команд к кадрам стека и потокам;
  • Внесены улучшения в команды «frame», «select-frame», «info frame», — «info functions», «info types», «info variables», «info thread», «info proc»;
  • При запуске в пакетном режиме GDB теперь возвращает код ошибки 1 в случае сбоя выполнения последней команды;
  • Добавлена возможность сборки GDB с предоставляемым GCC детектором неопределённого поведения (Undefined Behavior Sanitizer);
  • Добавлены настройки базовой системы (native configuration, для отладки на той же системе) для платформ RISC-V GNU/Linux (riscv*-*-linux*) и RISC-V FreeBSD (riscv*-*-freebsd*);
  • Добавлены настройки целевых систем (target configuration): CSKY ELF (csky*-*-elf), CSKY GNU/Linux (csky*-*-linux), NXP S12Z ELF (s12z-*-elf), OpenRISC GNU/Linux (or1k*-*-linux*), RISC-V GNU/Linux (riscv*-*-linux*) и RISC-V FreeBSD (riscv*-*-freebsd*);
  • Отладка на той же системе в Windows теперь требует наличия Windows XP или более новых выпусков;
  • Для использования Python API теперь требуется Python 2.6 или новее.

© OpenNet