The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

21.12.2025 09:40

Представлен релиз отладчика GDB 17.1 (первый выпуск серии 17.x, ветка 17.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, D, Fortran, Go, Objective-C, Modula-2, Pascal, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V, LoongArch и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

Наиболее заметные улучшения:

  • Для систем x86-64 реализована поддержка теневого стека (shadow stack), появившегося в ядре Linux 6.6 и позволяющего блокировать работу многих эксплоитов, используя аппаратные возможности процессоров Intel для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке. Суть защиты в том, что после передачи управления функции, адреса возврата сохраняются процессором не только в обычном стеке, но и в отдельном "теневом" стеке, который не может быть изменён напрямую. Перед выходом из функции адрес возврата извлекается из теневого стека и сверяется с адресом возврата из основного стека.
  • Добавлена возможность отладки Linux-программ, собранных для архитектуры AArch64 и использующих расширение GCS (Guarded Control Stack). GCS предоставляет средства для аппаратной защиты адресов возврата из функций и блокирования эксплоитов, использующих методы возвратно-ориентированного программирования (ROP - Return-Oriented Programming, эксплоит формируется из уже имеющихся кусков машинных инструкций, завершающихся инструкцией возврата управления).
  • Для систем с архитектурой rv64gc реализована полная поддержка записи процесса выполнения программы для отладки в обратном направлении и повторного воспроизведения участков кода.
  • В команду "info threads" добавлены опции "-stopped" и "-running" для показа только остановленных или только выполняемых потоков.
  • В команде "info sharedlibrary" на платформах Linux и FreeBSD обеспечен показ адресов для всего диапазона памяти, выделенного разделяемой библиотеке (ранее показывался только базовый адрес и адреса для секции .text).
  • Обеспечена возможность использования снимков состояния (checkpoint) в Linux при одновременной отладке несколько процессов.
  • Расширена поддержка пространств имён компоновщика (linker namespace).
  • Для выделения ошибок и предупреждений задействованы символы emoji.
  • На платформе Linux реализована встроенная возможность доступа к локальным переменным потоков (Thread-Local Storage, TLS), используемая при отсутствии библиотеки libthread_db. Возможность доступна для архитектур x86_64, aarch64, ppc64, s390x и riscv при сборке с GLIBC или MUSL.
  • Добавлена команда "set riscv numeric-register-names" для отображения регистров RISC-V c использованием их цифровых идентификаторов вместо ABI-имён.
  • Внесены улучшения в Python API. Добавлены новые классы gdb.Color и gdb.ParameterPrefix, атрибут gdb.Value.is_unavailable, функция gdb.warning(). Прекращена поддержка старых версий Python - поддерживается только Python 3.4 и новее.
  • Внесены улучшения в Guile API. Добавлен тип "<gdb:color>".
  • Расширены возможности протокола DAP (Debugger Adapter Protocol): реализована поддержка запросов "completions" и добавлена опция "--binary-output" для отключения преобразования символов перевода строки на платформе Windows.
  • Добавлены переменные $_colorsupport (список цветовых пространств, поддерживаемых терминалом), $linker_namespace_count и $_linker_namespace (список активных пространств имён компоновщика).
  • Добавлены опции "--disable-gdb-compile" для отключения подсистемы компиляции, а также "--disable-gdb-dwarf-support" и "--disable-gdb-mdebug-support" для отключения отладочной информации в форматах DWARF и mdebug/ecoff.
  • В gdbserver прекращена поддержка UST (static tracepoint).


  1. Главная ссылка к новости (https://www.mail-archive.com/i...)
  2. OpenNews: Выпуск отладчика GDB 16
  3. OpenNews: Проект OpenAI открыл Transformer Debugger, отладчик для моделей машинного обучения
  4. OpenNews: Выпуск системы динамической отладки SystemTap 5.0
  5. OpenNews: Для Linux представлена система динамической отладки BPFtrace (DTrace 2.0)
  6. OpenNews: Выпуск системной библиотеки Glibc 2.42 и набора утилит GNU Binutils 2.45
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64463-gdb
Ключевые слова: gdb, debug
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (31) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 10:59, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Дебагер с функцией обхода защиты я считаю это пять.
     
     
  • 2.13, zionist (ok), 12:26, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Там нет обхода защиты, там есть поддержка механизма этой защиты.
     

  • 1.3, Аноним (1), 11:00, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Ну и вообще лудший отладчик
     
  • 1.4, Аноним (4), 11:04, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Что лучше - gdb или lldb?
     
     
  • 2.17, Аноншка (?), 13:41, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
     
  • 3.26, Аноним (26), 16:37, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.25, lucentcode (ok), 16:21, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Однозначно GDB, он пока более фичастый. lldb очень похож, но поддерживает меньше архитектур, и не все возможности. При этом lldb умеет в альясы для GDB, и если вы знаете GDB, вы почти всегда так же комфортно сможете использовать и lldb, практически как прямую замену GDB.

    Но, в одном случае, при изучении современных C++ выражений, lldb может оказаться в некоторых случаях конкретном в этом более фичастым. Если вы плюсовик, lldb возможно, для вас лучший выбор.

     
     
  • 3.27, Аноним (26), 16:41, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.5, Аноним (5), 11:11, 21/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –6 +/
     
     
  • 2.6, Аноним (6), 11:14, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +10 +/
     
     
  • 3.7, Аноним (1), 11:31, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 3.11, Аноним (11), 12:18, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.8, Аноним (1), 11:31, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Это постирония
     
     
  • 3.15, Аноним (15), 12:48, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.9, Аноним (9), 12:08, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    всегда им пользуюсь
     
  • 1.10, Аноним (10), 12:14, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    >аппаратные возможности процессоров Intel для защиты от перезаписи адреса возврата из функции в случае переполнения буфера в стеке.

    Настоящие сишники настолько хорошо пишут на С что даже интелу пришлось в процессор встраивать аппаратные костыли с защитой от таких профессионалов.

    Что естественно доказывает что раст не нужен.

     
     
  • 2.14, Аноним (14), 12:37, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Cи причем, если архитектура у вас гуляйвася? Какая архитектура такой и язык под нее, очевидно ведь.
     
  • 2.19, Аноним (19), 13:52, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Настоящие сишники настолько хорошо пишут на С что даже интелу пришлось в процессор встраивать аппаратные костыли с защитой от таких профессионалов.

    mov esp,eax. Причем тут Си, если это разрешено в машинных иструкциях?

     
     
  • 3.22, 12yoexpert (ok), 14:55, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +1 +/
    с такими нужно не спорить, а продавать: свечи, там, духовную литературу, пожертвования собирать
    туда же что-нибудь от "синдрома запястного канала" хорошо зайдёт, лампы на монитор
     

  • 1.12, Анонимный БСДун (?), 12:21, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Shadow stack - это отличная идея!
     
     
  • 2.28, Аноним (1), 16:47, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вместе с swadow fleet.
     

  • 1.16, 12yoexpert (ok), 13:37, 21/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.18, Аноним (19), 13:47, 21/12/2025 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.20, 12yoexpert (ok), 13:53, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    переводить чатгопотой - плохая идея
     
  • 1.21, Аноним (21), 14:38, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Чуваки не осилили запилить к нему собственный стандартный UI.
     
     
  • 2.23, Аноним (23), 14:57, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    сделали, консольный. Не нравится - не пользуйтесь
     
     
  • 3.24, Аноним (24), 15:40, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Звучит как «жрите, что дают»… а, это оно и есть.
     
     
  • 4.29, Аноним (1), 16:47, 21/12/2025 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.30, Аноним (26), 16:49, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Вот он стандартный к нему UI https://www.gnu.org/software/emacs/manual/html_node/emacs/GDB-Graphical-Interf
     

  • 1.31, Аноним (31), 16:52, 21/12/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Тут уже включен Раст или когда уже его добавят?
     
     
  • 2.32, Аноним (32), 17:16, 21/12/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Растофанатики ещё и читать не умеют? Не удивлён.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру