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 обязательно


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

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

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

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

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

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

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

     
     
  • 7.17, Аноним (17), 03:45, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Предыдущие попытки создать структурированные пайплайны тебя ничему не научили?
     
  • 3.9, Аноним (-), 22:52, 18/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    > Дебажу принтами зачем нужен сабж ума не приложу. Есть подробное зачем оно надо?

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

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

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

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

     
  • 4.20, Аноним другой (?), 09:29, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    Как-то в голову не пришло, что отладчиком можно дампы отлаживать.

    Со своей стороны про отладку больших систем могу сказать, что после того как современные девопсы стали всё деплоить контейнерами, отобрав возможность заходить на прод и производить какие-то действия (типа подправил код, добавил принтов, перезапустил, увидел результат), приходится в систему вставлять тонны логов и логировать всё подряд. По сути при возникновении проблемы оказывается, что "принты" уже есть и результат уже лежит в графане.

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

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

     

  • 1.18, Аноним (18), 04:54, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Вот интересно... Как там нынче lldb по сравнению с gdb? Кто-нить юзает?
     
     
  • 2.21, Аноним (21), 09:56, 19/01/2025 [^] [^^] [^^^] [ответить]  
  • +/
    в VSCode и Neovim для Rust юзают lldb
     

  • 1.19, Аноним (19), 09:29, 19/01/2025 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >     Прекращена поддержка QNX Neutrino

    И как теперь жить?

     

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



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

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