GDB поддерживает отладку на уровне исходников широкого спектра языков (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, RISC-V, LoongArch и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Основные изменения направлены на повышение безопасности, удобства отладки и интеграции с современными технологиями. Ключевые нововведения в GDB 17:
1. Поддержка теневого стека (CET Shadow Stack) для x86-64. Это позволяет отлаживать программы, использующие аппаратную защиту от переполнения буфера в стеке, появившуюся в ядре Linux 6.6. Теневой стек сохраняет адреса возврата функций отдельно от основного стека, что затрудняет эксплуатацию эксплоитов.
2. Отладка программ с Guarded Control Stacks (GCS) на AArch64. GCS предоставляет аппаратную защиту адресов возврата из функций, блокируя эксплоиты, использующие методы возвратно-ориентированного программирования (ROP).
3. Полная поддержка записи выполнения программы для RISC-V RV64GC. Это позволяет воспроизводить участки кода в обратном направлении для отладки.
4. Улучшения в команде `info threads`. Добавлены опции
-stopped и -running для отображения только остановленных или выполняемых потоков.5. Расширения в команде `info sharedlibrary`. На платформах Linux и FreeBSD теперь показываются адреса для всего диапазона памяти, выделенного разделяемой библиотеке, а не только базовый адрес и адреса секции
.text.6. Поддержка снимков состояния (checkpoint) в Linux. Позволяет использовать снимки при одновременной отладке нескольких процессов.
7. Улучшения в Python API. Добавлены новые классы
gdb.Color и gdb.ParameterPrefix, атрибут gdb.Value.is_unavailable, функция gdb.warning(). Прекращена поддержка Python версий ниже 3.4. 8. Улучшения в протоколе DAP (Debugger Adapter Protocol). Реализована поддержка запросов
completions и добавлена опция --binary-output для отключения преобразования символов перевода строки на Windows.9. Новые переменные. Добавлены
_colorsupport (список цветовых пространств, поддерживаемых терминалом), linker_namespace_count и _linker_namespace (список активных пространств имён компоновщика).10. Опции для отключения подсистем. Добавлены
--disable-gdb-compile, --disable-gdb-dwarf-support и --disable-gdb-mdebug-support для отключения определённых функций.11. Прекращение поддержки UST в gdbserver. UST (static tracepoint) больше не поддерживается.
https://www.sourceware.org/gdb/
https://www.mail-archive.com/info-gnu@gnu.org/msg03477.html