The OpenNET Project / Index page

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

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

18.01.2025 21:30

Представлен релиз отладчика GDB 16.1 (первый выпуск серии 16.x, ветка 16.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).

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

  • Для Linux-окружений на системах с архитектурой LoongArch реализована поддержка записи и повторного выполнения (record/replay).
  • Для теггированных указателей, часть битов в которых используется для хранения дополнительных данных, реализована поддержка точек останова, срабатывающих при изменении данных (watchpoint).
  • На системах с архитектурой AArch64 реализована поддержка отладки механизма защиты MTE (Memory Tagging Extension). MTE даёт возможность привязать теги к областям в памяти и организовать проверку корректности использования указателей для блокирования эксплуатации уязвимостей, вызванных некорректной работой с памятью.
  • Добавлен bash-скрипт gstack, использующий GDB для вывода трассировок стека работающих процессов.
  • Для точек остановка в состоянии ожидания (pending) ключевые слова 'thread' и 'task' теперь разбираются во время создания точки останова, а не после выхода из состояния ожидания.
  • Обеспечена подстановка точек останова, привязанных к потокам, только в ту область программы, в которой выполняется необходимый поток.
  • Расширены возможности трассировки на процессорах Intel: при пошаговой отладке, а также в командах "record instruction-history" и "record function-call-history" реализован вывод асинхронных событий и данных, сохраняемых при использовании инструкции ptwrite.
  • В Python API добавлены: модуль gdb.missing_objfile, событие gdb.tui_enabled, атрибут gdb.Symbol.is_artificial и функция gdb.record.clear.
  • Расширены возможности протокола DAP (Debugger Adapter Protocol), связанные с обработкой запросов "scopes", "launch" и "attach".
  • В протокол удалённой отладки добавлена поддержка пакетов "vFile:stat" и "x addr,length".
  • Прекращена поддержка QNX Neutrino, Nios II и Intel MPX.


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


Обсуждение (11) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 21:47, 18/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    одно из основополагающих опенсорс творений, как линукс, куему, иксы и файрфокс

    всем присесть и три раза ку

     
     
  • 2.2, Аноним (2), 21:50, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Дебажу принтами зачем нужен сабж ума не приложу. Есть подробное зачем оно надо?
     
     
  • 3.5, Аноним (5), 22:08, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ношу воду коромыслом с реки, зачем мне водопровод, ума не приложу.
     
     
  • 4.8, Аноним (8), 22:35, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • –5 +/
    А так деблохатор - это как раз таки воду коромыслом. Водопровод - это языки, которым оно не нужно как класс.
     
     
  • 5.10, Аноним (-), 22:53, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > А так деблохатор - это как раз таки воду коромыслом. Водопровод - это языки,
    > которым оно не нужно как класс.

    А что за языки такие волшебные, что на них программы - без багов?! Я б взял парочку.

     
     
  • 6.12, Аноним (12), 00:01, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Кто же его не знает? Швятой Rust.
     
  • 6.14, Витюшка (?), 01:12, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вообще есть один такой (дебаггер ему пока не нужен в практическом смысле слова, да его и нет 🤷‍♀️) - это язык Nu.

    И это единственный из 30 языков программирования, которому "не нужен" дебагер. И скажу честно - я в шоке.

    Ты просто берёшь кусок кода и вставляешь его в оболочку NuShell - и видишь результат. Настолько атомарны конструкции языка.

     
  • 3.9, Аноним (-), 22:52, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Дебажу принтами зачем нужен сабж ума не приложу. Есть подробное зачем оно надо?

    Если у тебя раз в неделю грохается здоровая многопоточная программа... то вот это может быть несколько несподручно.

    Т.е. одно дело если ты получил неведомый трейс выполнения который фиг знает как воспроизвести - не говоря о хзкаком внутреннем состоянии, и другое - если вот тебе core dump и изучай себе наздоровье. И так уже бывает гораздо понятнее в чем дело. Хотя тоже без гарантий.

     
     
  • 4.16, Аноним (-), 01:29, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >> Дебажу принтами зачем нужен сабж ума не приложу. Есть подробное зачем оно надо?
    > Если у тебя раз в неделю грохается здоровая многопоточная программа...

    ... то и дебажить ее тоже такое себе удовольствие.

     
  • 3.11, Аноним (11), 22:56, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    ты забыл добавить префиксом await к своему посту
     
  • 3.15, _kp (ok), 01:21, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    >>Дебажу принтами

    Одно другому не мешает, дополняет, и более того, где то уместней логи, а где то без отладчика ад.

     

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



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

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