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

Представлен релиз отладчика 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

© OpenNet