Представлен (https://sourceware.org/ml/gdb/2019-05/msg00018.html) релиз отладчика GDB 8.3 (http://www.gnu.org/software/gdb/), поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS). Ключевые улучшения (https://sourceware.org/git/?p=binutils-gdb.git;a=blob_plain;...:
- В интерфейсах CLI и TUI реализована возможность определения стиля терминала (добавлена команда "set style"). При наличии GNU Highlight реализована подсветка исходных текстов;
- Реализована экспериментальная поддержка компиляции и подстановки исходного кода на языке C++ в контролируемый при помощи GDB процесс
(inferior (https://sourceware.org/gdb/onlinedocs/gdb/Inferiors-and-Prog.... Для работы требуется наличие как минимум версии GCC 7.1б, собранной с libcp1.so;
- В GDB и GDBserver добавлена поддержка IPv6. Для задания адресов IPv6 следует использовать формат "[ADDRESS]:PORT";
- Для целевых систем RISC-V добавлена поддержка описания цели в формате XML (Target Description Format (https://sourceware.org/gdb/onlinedocs/gdb/Target-Description...
- На платформе 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 или новее.
URL: https://sourceware.org/ml/gdb/2019-05/msg00018.html
Новость: https://www.opennet.dev/opennews/art.shtml?num=50668