Представлен релиз отладчика GDB 15.1 (первый выпуск серии 15.x, ветка 15.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).
Ключевые улучшения:
- Для сборки GDB и GDBserver теперь необходим компилятор, поддерживающий C++17 (как минимум GCC 9).
- Внесены улучшения в Python API. Добавлены функции gdb.notify_mi, gdb.missing_debug.register_handler и gdb.interrupt, класс gdb.missing_debug.MissingDebugInfo, модуль db.missing_debug, атрибуты gdb.Value.bytes и gdb.InferiorThread.ptid_string, константы gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN и gdb.SEARCH_*_DOMAIN. В объектах gdb.Inferior и gdb.InferiorThread реализована возможность добавления пользовательских атрибутов.
- Продолжена реализация протокола DAP (Debugger Adapter Protocol). Добавлена команда «set debug dap-log-level» для управления ведением логов для DAP. Добавлена поддержка запроса «cancel» и возможность формирования события «process».
- В протокол удалённой отладки добавлена поддержка пакетов QThreadOptions и qIsAddressTagged, а также реализована команда «set/show remote thread-options-packet».
- В GDBserver прекращена поддержка опций «—remote-debug» и «—event-loop-debug», а также команд ‘monitor set remote-debug’ и ‘monitor set event-loop-debug’, вместо которых в опции «—debug» реализована возможность передачи разделённого запятыми списка компонентов для отладки (all, threads, event-loop и remote). Аналогично возможность указания компонентов реализована в команде ‘monitor set debug’.
- В индекс добавлена информация о функции main, что позволяет ускорить запуск при использовании с некоторыми большими исполняемыми файлами.
- Объявлены устаревшими MPX-команды «show/set mpx bound», поддержка которых прекращена Intel в 2019 году.
- Добавлены новые команды:
- «set/show direct-call-timeout»
- «set/show indirect-call-timeout»
- «set/show unwind-on-timeout on|off»
- «set/show unwind-on-signal on|off»
- В командах «gcore» и «generate-core-file» добавлена поддержка оптимизации хранения пустых областей в генерируемых core-файлах.
Источник: http://www.opennet.ru/opennews/art.shtml?num=61507