The OpenNET Project / Index page

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

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

21.02.2023 11:25

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

Ключевые улучшения:

  • Добавлена поддержка запуска отладчика и GDBserver на архитектурах GNU/Linux/LoongArch и GNU/Linux/CSKY.
  • Реализована поддержка работы на платформе Windows в асинхронном режиме (async).
  • На платформе FreeBSD для архитектур ARM и AArch64 добавлена поддержка переменных TLS (Thread Local Storage), а для архитектуры AArch64 предоставлена возможность использования аппаратных точек останова (watchpoint).
  • В окружении GNU/Linux на системах LoongArch добавлена поддержка вычислений с плавающей запятой.
  • Реализованы новые команды "maintenance set ignore-prologue-end-flag|libopcodes-styling" и "maintenance print frame-id", а также команды для управления стилем дизассемблируемого вывода (set style disassembler *).
  • Добавлены команды "set print nibbles [on|off]" и "show print nibbles" для управления отображением бинарных значений в четырёхбайтовых группах.
  • Внесены улучшения в Python API. Добавлен API для дизассемблирования инструкций, реализован тип gdb.BreakpointLocation, добавлены функции gdb.format_address, gdb.current_language и gdb.print_options.
  • В программном интерфейсе управления GDB/MI объявлена устаревшей первая версия интерфейса MI, которая будет удалена в ветке GDB 14.
  • В ELF-файлах добавлена поддержка отладочных секций, сжатых с использованием алгоритма zstd.
  • Добавлены новые встроенные переменные: $_inferior_thread_count, $_hit_bpnum, $_hit_locno.
  • Формат вывода команд 'disassemble /r' и 'record instruction-history /r' приведён в соответствие с выводом objdump. Для возвращения старого формата добавлен режим "/b".
  • В интерфейсе TUI (Text User Interface) отключена стилизация исходного и ассемблерного кода, выделенного индикатором текущей позиции.
  • Предоставлена возможность использования команды "document" для документирования пользовательских команд.
  • Добавлена возможность создания дампов с данными тегов памяти, применяемых при использовании механизма ARMv8.5 MTE (MemTag, Memory Tagging Extension), позволяющего привязать теги к каждой операции выделения памяти и организовать при доступе к памяти проверку указателя, который должен быть связан с корректным тегом.
  • Прекращена поддержка режима совместимости с DBX.
  • Прекращена поддержка сборки с использованием Python 2.
  • Удалены команды "set debug aix-solib on|off", "show debug aix-solib", "set debug solib-frv on|off" и "show debug solib-frv", вместо которых следует использовать команды "set/show debug solib".


  1. Главная ссылка к новости (https://sourceware.org/piperma...)
  2. OpenNews: Выпуск отладчика GDB 12
  3. OpenNews: Проект Debian запустил сервис для динамического получения отладочной информации
  4. OpenNews: Для Linux представлена система динамической отладки BPFtrace (DTrace 2.0)
  5. OpenNews: Выпуск системы динамической отладки SystemTap 3.3
  6. OpenNews: Бэкдор в отладочном коде модифицированного ядра Linux для систем Allwinner
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/58682-gdb
Ключевые слова: gdb, debug
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (50) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Вечно недовольный аноним (?), 11:39, 21/02/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +13 +/
    Один из самых успешных проектов гну, наравне с имакс.
     
     
  • 2.3, Аноним (3), 12:15, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Удваиваю.
     
  • 2.6, Аноним (6), 12:50, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • –4 +/
    gdb - это вещь! вещь, проверенная временем. Ну а имакс не смог пережить конкуренцию с божественным vim, так что сегодня этим комбайном пользуются лишь полторы калеки.
     
     
  • 3.22, сччмсм (?), 21:32, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Имхо nneovim твоего vim'а vi как vi emacs'a
     
     
  • 4.34, Аноним (34), 09:11, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    так а в чем проблема, neovim это форк, прямое развитие проекта vim
     

  • 1.2, Аноним (2), 11:47, 21/02/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не знаю. Мне не очень нравится. Может конечно косяк не в нем, а в Lazarus, но в отличие от TD32 в Delphi, GDB в Lazarus работает просто отвратно.
     
     
  • 2.5, maximnik0 (?), 12:49, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >GDB в Lazarus работает просто отвратно

    В лазариусе вообще непонятно что и как развивается.Хоть и пишут что у родных проектов кроссплатформенность,но лично сталкивался с тем что код под офтопик с графической таблицей (пиктограммы и т.д) работает нормально.А под линь-пустое графическое окошко.При этом компилятор 0 ошибок выдает.А портированная дос (даже не для лазариуса) библиотека-хоть и с косяками но с выводом графики справляется.Правда того ужаса как раньше хелло в 4 мгб нету (если убрать отладку и пременить оптимизацию -о3).

     
     
  • 3.40, Аноним (-), 12:20, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Более того - удачи ему найти опенсорсный дебагер лучше. Есть lldb еще, но он кривой жутко.
     
  • 2.8, Rock (?), 13:34, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Не знаю. Мне не очень нравится. Может конечно косяк не в нем, а в Lazarus, но в отличие от TD32 в Delphi, GDB в Lazarus работает просто отвратно.

    Я искренне не понимаю ораторов выше, хвалящих GDB. По удобству использования он так и не приблизился к TurboDebugger'у из конца восьмидесятых прошлого века. Люди просто никогда не видели хороших вещей. Причем, на досе и винде всегда была куча отладчиков и все одинакового с TD качества: MS, TopSpeed, Metrowerks, Zortech, Watcom, IBM'овский Visual Age, непревзойденная Numega и многие другие.
    В нулевые пришлось попользоваться TotalView на Солярисе -- по идее, полным аналогом перечисленного, вот да, после него gdb мог показаться неплохим.

     
     
  • 3.9, Аноним (9), 13:42, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чего тебе не хватает? А насчёт качества, сабж куда качественней, как ни крути. Есть для любой платформы и при этом современный.
     
     
  • 4.10, bOOster (ok), 14:28, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да ему "шашечки" важны, типа интерфейса пользователя. У него моск короток для запоминания комбинаций клавиш и т.п.
     
     
  • 5.13, Аноним (13), 16:43, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну и зачем их запоминать? Аноним в принципе не запоминает эти сраные комбинации клавиш, есть же GUI. Может лучше концентрироваться на задаче, архитектуре системы, паттернах, рефакторинге?
    А если этому еще и средства разработки помогают, навроде превосходной по удобству MS Visual Studio, то вообще замечательно. Комментатор bOOster кроме оскробления анонимов, а переход на личности позиция слабая, занимается программированием или только на опеннет сидит? Ну пару мегов кода хотя бы написал или так себе, по студенческим программкам все в любимом виай с гдб?
     
     
  • 6.14, bOOster (ok), 17:00, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Ну и зачем их запоминать? Аноним в принципе не запоминает эти сраные
    > комбинации клавиш, есть же GUI. Может лучше концентрироваться на задаче, архитектуре
    > системы, паттернах, рефакторинге?
    > А если этому еще и средства разработки помогают, навроде превосходной по удобству
    > MS Visual Studio, то вообще замечательно. Комментатор bOOster кроме оскробления анонимов,
    > а переход на личности позиция слабая, занимается программированием или только на
    > опеннет сидит? Ну пару мегов кода хотя бы написал или так
    > себе, по студенческим программкам все в любимом виай с гдб?

    А тебе явно неведомо что кроме компьютеров есть еще толпа оборудования где нет интерфейса пользователя вообще и проходится терминальными средствами разработки пользоваться. И это львиная доля устройств для разработки профессионалами, а не лохами, которые выйти за предели визуального интерфейса пользователя не могут.

     
     
  • 7.16, Аноним (13), 17:13, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Вот комментатор bOOster видимо не представляет себе все богатство современных средств разработки в т.ч. и для оборудования, но таки все у него "лохи", впрочем для "студентов" по жизни это явление обычное
     
     
  • 8.18, bOOster (ok), 17:56, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    То-то GDB до сих пор развивается, а различные Turbo Debugger, Watcom и т п уже ... текст свёрнут, показать
     
     
  • 9.38, Аноним (38), 11:38, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Можно подумать, много кто пользуется его GDB родным интерфейсом ... текст свёрнут, показать
     
  • 8.51, Александр (??), 14:54, 24/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во всём этом богатстве gdb как раз не редко и сидит Просто сверху чем-нибудь об... текст свёрнут, показать
     
  • 7.19, VladSh (?), 18:20, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А тебе явно неведомо, что вполне можно обойтись без чрезмерного цитирования.
     
  • 7.52, Заведующий налоговой (?), 19:15, 26/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Если профессиональность определяется степенью изврата, то к чёрту подобный "профессионализм".
     
     
  • 8.53, bOOster (ok), 07:22, 27/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Лох это судьба тех кто ждет от других упрощения своей жизни Профессионал берет ... текст свёрнут, показать
     
  • 6.17, Rock (?), 17:15, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Комментатор bOOster кроме оскробления анонимов, а переход на личности позиция слабая, занимается программированием или только на опеннет сидит?

    Да ладно Вам! Он человек, в принципе, неплохой -- вон как за меня переживает, что я потенциально денег недополучаю из-за "неправильных" инструментов.
    А то, что грубит?.. Ну, он так воспитан. Хорошее воспитание -- это очень дорого и по карману далеко не каждой советской семье. А общаться всем хочется, тут кто как умеет.

     
  • 5.30, Аноним (38), 06:29, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Охренеть, пользователю важен интерфейс пользователя. Пользователь хочет работу работать, а не вспоминать каждый раз комбинации клавиш "и т.п." (кстати, комбинации клавиш и в Turbo Debugger были).
     
     
  • 6.31, Sw00p aka Jerom (?), 06:57, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    вообще-то, комбинации клавиш это тупо примочка, а не обязаловка в графических Ынтерфейсах, даже в консольных "графических" Ынтерфейсах.
     
     
  • 7.36, Аноним (38), 11:02, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Во времена DOS программу без хоткеев просто бы не поняли. Борландовский софт вообще в целом соответствовал CUA.
    Это сейчас могут так гуй написать, что переключение между кнопками по ⭾ работать не будет (не шутка, пример из жизни).
     
     
  • 8.39, Sw00p aka Jerom (?), 12:13, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    вот и я не понимаю, зачем создавать графический Ынтерфейс в консоли, если дост... текст свёрнут, показать
     
     
  • 9.41, Аноним (38), 13:38, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Кому-то и текст редактировать в ed достаточно ... текст свёрнут, показать
     
  • 3.15, Anonymoustus (ok), 17:04, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Люди просто никогда не видели хороших вещей.

    Сам и ответил на вопрос.

     
  • 3.37, andy (??), 11:28, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    После того, как сработает точка остановки, введи:
    layout asm
    layout regs

    А если хочется как в "непревзойденной Numega" есть .gdbinit, который сделает почти "как SoftICE"
    https://github.com/mammon/gdbinit

     
  • 3.42, Аноним (42), 15:14, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    gdb предоставляет сервер, а клиентов с достойным GUI предостаточно. Лично мне нравятся JetBrains-овские IDE, но это дело вкуса.

    А когда надо что-то отладить, имея только тормозной ssh на железку в Китае, консольный gdb незаменим.

     
  • 3.43, Аноним (-), 18:25, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ты много чего не понимаешь Если вам приходится часто и много висеть в дебагере ... большой текст свёрнут, показать
     
  • 3.50, Александр (??), 14:50, 24/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Проблема этих удобных отладчиков в том, что они сильно привязаны к винде и отлаживают 1,5 платформы, при этом зачастую не имея привязки к IDE или даже не имея полезных функций, вроде условной отладки и удалённой отладки. GDB - это больше о функционале, нежели удобстве. Удобство часто обеспечивается тьмой всевозможных оболочек, как отдельных, так и в составе IDE.
     
  • 2.11, Аноним (11), 14:42, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    в середине нулевых я думал, что VCL это оверхед, целых 500КБ на бинарь, но теперь понятно, где оверхед
     

  • 1.4, Аноним (4), 12:16, 21/02/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    подскажите, а как включить подсветку синтаксиса в TUI в gdb? А то в 1-м дистрибе подсвечивается, а во 2-м нет.
     
     
  • 2.12, llolik (ok), 16:14, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я cgdb из репы собираю. https://github.com/cgdb/cgdb
    Очень удобная утилитка. Синтаксис подсвечивает.
     
  • 2.35, Аноним (34), 09:13, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сравни gdbinit в обоих дистрах.
     

  • 1.20, Аноним (20), 19:59, 21/02/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я просто про то, что когда я пользуюсь TD32 под Delphi, то у меня к нему нареканий никаких нет. Все работает именно так, как я ожидают. В Lazarus же все работает черти как. Одни и те же участки кода проходятся по несколько раз. Отладчик время от времени вываливается в дизассемблерный код там, где по идее не должен. Ну и плюс самое наверное банальное. В TD32 прекрасно работают те же кнопки F7 и F8, что и в отладчике исходников, а потому переход между дебагом исходников и дизассемблированного кода происходит гладко. В GDB - нет.
     
     
  • 2.21, Аноним (20), 20:35, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Очень, знаете ли, раздражает, когда ты дебажил дебажил участок кода, который тебе нужен, а оно бах и вываливается в дизасм, при проблем может быть и не было бы, если бы ты мог просто дальше жать F8 по накатанной, но ты не можешь.
     
     
  • 3.25, Аноним (25), 23:06, 21/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Господи, да иди уже в Эксель кнопки жми, там тебе привычней будет.
     
  • 3.28, _kp (ok), 04:06, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Похоже проблема в Лазарусе, и отладочной информации в коде, который он генерит, а не в gdb.
    Тоже обращал внимание, что в Лазарусе отладка хромает. Причем примерно абсолютно одинаково некомфортно и на Linux и на Windows.

    В тоже время при отладке Си кода ничего не улетает в дизассемблер, и как угодно отлаживается, и переваривает в том числе слегка оптимизированный код.

     
     
  • 4.29, maximnik0 (?), 05:01, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну единственное что когда то мне рекомендовали это сделать в параметрах проекта -использовать внешний файл отладочных символов,реже с ума сходит gdb.Но я забросил Лазариус- глюков на тот момент было не много,да и сейчас шаг влево вправо непонятные ошибки которых по идее не должно быть.
     
  • 4.32, Аноним (20), 07:26, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там еще может быть такая фишка, что в Delphi все грузится с пакетов, а в Lazarus компилится в сам IDE. Linux-way, так сказать. Как результат там еще надо сам IDE и RTL в режиме отладки пересобрать. А то отладчик будет каждый раз спотыкаться о вызов какой-нибудь функции.
     
     
  • 5.33, llolik (ok), 09:04, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Это не Linux-way. Это родительский проект FPC не умеет динамически модули загружать, только статически.
    https://wiki.freepascal.org/Lazarus_Packages#What_is_a_Lazarus_package.3F
    https://wiki.freepascal.org/Dynamically_loading_headers
    Поэтому приходится всё компилировать в среду, иначе не работает, пока в сам FPC функциональность не запилят.
     

  • 1.24, Аноним (25), 23:05, 21/02/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Дежурное напоминание, что для нормальных языков такая вещь как деблохатор не нужна.
     
     
  • 2.26, omnomnomous (?), 01:09, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Это для каких не нужен?
     
     
  • 3.27, Аноним (27), 02:55, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Для Scheme
     
     
  • 4.49, omnomnomous (?), 23:22, 23/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Однако ж... Языки с 3.5 пользователями на планете уже попадают в рейтинги, до чего прогресс дошёл
     
  • 2.44, Rock (?), 18:59, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Дежурное напоминание, что для нормальных языков такая вещь как деблохатор не нужна.

    Отладчик -- это инструмент. Причем, не для языка, а для людей. Целей применения отладчика огромное множество, и чем круче программист, тем больше применений инструменту он сможет найти.

     
  • 2.45, Аноним (-), 19:42, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Дежурное напоминание, что для нормальных языков такая вещь как деблохатор не нужна.

    А что, люди уже научились писать программы без багов? ORLY? :)

     
  • 2.46, Аноним (46), 23:21, 22/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Чочо много там на ваших нормальных языках написано?
     

  • 1.47, Аноним (47), 12:49, 23/02/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Когда есть GDB - Rust не нужен.
     
     
  • 2.48, Аноним (48), 21:47, 23/02/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Обратное тоже верно.
     

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



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

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