Выпуск отладчика GDB 8.0
Доступен релиз отладчика GDB 8.0, поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Значительная смена номера версии связана с прекращением опциональной поддержки сборки GDB и GDBserver с использованием Си-компилятора (режим »--disable-build-with-cxx»). Для сборки GDB 8.0 теперь обязательно нужен компилятор С++, совместимый со стантартом C++11, т.е. требуется GCC 4.8 или более новый выпуск. Кроме того, для сборки теперь требуется GNU Make 3.81 или более новый выпуск, поддержка сборки при помощи BSD make и других сторонних реализаций утилиты make прекращена. Напомним, что GCC 4.8 был выпущен в 2013 году, а GNU Make 3.81 в 2006 году.
Ключевые улучшения:
- При отладке приложений на языке С++11 теперь поддерживаются ссылки rvalue;
- Возможность доступа к регистру PKU на платформе GNU/Linux. PKU-регистр применяется для хранения ключей защиты памяти пользовательских процессов (Memory Protection Keys for Userspace), технологии, которая появится в будущих моделях процессоров Intel;
- В Python API реализованы новые функции для доступа, запуска и остановки записи активности через btrace. В gdb.Type добавлена поддержка ссылок Rvalue;
- Добавлена поддержка записи и повторного выполнения кода, содержащего инструкции (Intel 64) rdrand и rdseed;
- В командном интерпретаторе сняты ограничения на число аргументов (ранее пользовательские команды могли включать не более 10 аргументов). В команде «eval» обеспечено раскрытие аргументов, определённых пользователем, что значительно упрощает обработку переменного числа аргуменов:
define mycommand set $i = 0 while $i < $argc eval "print $arg%d", $i set $i = $i + 1 end end
- Добавлена поддержка формата отладочных файлов DWARF 5, за исключением индексов .debug_names;
- В программный интерфейс управления GDB/MI добавлены новые команды »-file-list-shared-libraries» и »-target-flash-erase» для вывода списка разделяемых библиотек и очистки flash-памяти;
- В gdb добавлена команда «flash-erase» для очистки всех регионов памяти на Flash;
- Добавлена поддержка запуска на платформе FreeBSD/mips (mips*-*-freebsd). Добавлена поддержка целевых платформ FreeBSD/mips (mips*-*-freebsd) и Synopsys ARC (arc*-*-elf32). Для sparc32 и sparc64 добавлены секции с описанием регистров;
- Для платформы Windows добавлена поддержка символов перенаправления в командной строке ('>', '>>', '2>&1'), обеспечен доступ к именам потоков;
- Добавлены новые настройки «set disassembler-options» и «show disassembler-options» для установки и отображения специфичных для целевых платформ параметров дизассемблера;
- Прекращена поддержка Java-программ, собранных при помощи gcj;
- Прекращена поддержка платформ FreeBSD/alpha (alpha*-*-freebsd*) и GNU/kFreeBSD/alpha (alpha*-*-kfreebsd*-gnu).
© OpenNet