The OpenNET Project / Index page

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

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

03.12.2023 18:40

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

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

  • Кодовая база переведена на использование стандарта C++17. Для сборки GDB теперь необходим компилятор, поддерживающий C++17 (как минимум GCC 9).
  • В индекс добавлена информация о функции main, что позволяет ускорить запуск при использовании с некоторыми большими исполняемыми файлами.
  • Прекращена поддержка ОС AIX 4.x, 5.x и 6.x (в качестве минимально поддерживаемой версии AIX заявлен выпуск 7.1).
  • Добавлена начальная встроенная поддержка протокола DAP (Debugger Adapter Protocol).
  • Добавлена поддержка переменной окружения NO_COLOR.
  • Добавлена начальная поддержка целочисленных типов, размером больше 64 битов.
  • Добавлена поддержка точек останова, привязанных к отдельным объектам отладки (при отладке нескольких процессов).
  • Добавлена функция "$_shell" для запуска команды в командной оболочке и возвращения результата.
  • Внесены улучшения в Python API:
    • Добавлены классы gdb.Thread, gdb.unwinder.FrameId и gdb.ValuePrinter.
    • Добавлены атрибуты gdb.Inferior.arguments, gdb.Inferior.main_name, gdb.Breakpoint.inferior, gdb.Progspace.symbol_file, gdb.Progspace.executable_filename.
    • Добавлены функции gdb.execute_mi(COMMAND, [ARG]...), gdb.block_signals().
    • Добавлены методы gdb.Frame.static_link, gdb.Inferior 'clear_env', 'set_env' и 'unset_env', gdb.Type 'is_array_like' и 'is_string_like', gdb.Value 'assign', gdb.Value 'to_array', gdb.Progspace 'objfile_for_address', gdb.LazyString __str__. Добавлены события gdb.ThreadExitedEvent, gdb.ExecutableChangedEvent, gdb.NewProgspaceEvent, gdb.FreeProgspaceEvent.
  • Добавлена возможность включения и выключения отдельных возможностей для удалённых отладочных целей.
  • Улучшена поддержка архитектуры AArch64. Добавлена поддержка расширений SME (Scalable Matrix Extension) и SME2.
  • Улучшена поддержка языка Ada и спецификации Ada 2022.
  • В команду 'list' добавлена поддержка аргумента '.' для вывода местоположения точки выполнения в текущем кадре стека.
  • В команды printf и dprintf добавлен спецификатор формата '%V'.
  • В команде printf размер строки, извлекаемой из объекта отладки, ограничен значением настройки 'max-value-size'.
  • Добавлена сборочная опция "--additional-debug-dirs=PATH", задающая значение по умолчанию для параметра 'debug-file-directory'.
  • Добавлена новая команда "info main" для извлечения символа main, указывающего на точку входа в программу.
  • Добавлены новые команды:
    • "set debug breakpoint on|off"
    • "set tui mouse-events [on|off]"
    • "set always-read-ctf on|off"
    • "maintenance print record-instruction [ N ]"
    • "maintenance info frame-unwinders"
    • "maintenance wait-for-index-cache"


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


Обсуждение (61) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 19:59, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    А я релиз в марте ждал, как-то они быстро.
     
  • 1.2, Аноним (2), 20:02, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > Добавлена начальная встроенная поддержка протокола DAP (Debugger Adapter Protocol)

    Не прошло и пяти лет! А нет, прошло… Ну да лучше через пять лет, чем никогда.

     
     
  • 2.12, zloyuser (?), 21:10, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    у них уже сто лет как есть mi протокол. Зачем еще это поделье?
     
     
  • 3.27, Аноним (27), 00:11, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Для совместимости с удобными современными средствами разработки, например.
     
  • 3.30, Аноним (30), 01:06, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ты просто ничего не пытался написать на этом протоколе, иначе бы не спрашивал
     

  • 1.3, Аноним (3), 20:06, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это все конечно классно, но нормальной его поддержки в свободных IDE как не было, так и нет. Сколько лет прошло, а лучше TD32 до сих пор нету. Как классно было в Delphi прожать Debug windows->View CPU и продолжать отлаживать дальше, как ни в чем не бывало. Т.е. продолжая жать те же F7/F8, а не черти что.
     
     
  • 2.5, Аноним (5), 20:20, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Сомневаюсь, что ты объективен. Лично для меня(!) это самый удобный дебагер. Насчет IDE - нормальная поддержка этого отладчика есть даже в Vim'е
     
     
  • 3.11, Anon888 (?), 21:09, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вот и нет, в Виме поддержки GDB нет. Был раньше плагин, но автор его забросил. Да она и не нужна. ГДБ прекрасен и самодостаточен сам по себе.
     
     
  • 4.14, Аноним (5), 21:13, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Termdebug? Все ещё работает, что там обновлять то?

    > ГДБ прекрасен и самодостаточен сам по себе.

    Согласен

     
  • 4.55, ананим.orig (?), 22:08, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    https://github.com/puremourning/vimspector
     
     
  • 5.56, ананим.orig (?), 22:10, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    для nvim https://github.com/mfussenegger/nvim-dap
     
  • 2.7, Аноним (7), 20:27, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Штатный gui для gdb -- это gdb-mode Emacs'a.

    Им и надо пользоваться.

     
     
  • 3.8, Аноним (8), 20:28, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Штатный gui для gdb это ddd, а не твой плеер. Привет.
     
     
  • 4.15, Аноним (15), 21:16, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Страшнюче.
     
     
  • 5.18, all_glory_to_the_hypnotoad (ok), 21:57, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    И жутко неудобное, проще коробочным gdb пользоваться
     
  • 4.34, Neon (??), 09:33, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    DDD дико глючащее поделие, только прикидывающееся дебагером. Ну а всякие gdb-mode Emacs'a c vim'ами - это воообще, извращение. Извлечение гланд через пятую точку. Нормального GUI нет.
     
  • 4.35, Neon (??), 09:34, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    На DDD и helloworld не всегда получится отладить. Зависнет или заглючит)))
     
  • 4.41, Аноним (7), 10:45, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Никогда ddd не был штатным GUI для GDB.

    Более того, он до сих пор использует старый протокол, не MI.

     
  • 3.36, llolik (ok), 09:36, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А мне cgdb, например, нравится. Простой и удобный.
    https://github.com/cgdb/cgdb
     
     
  • 4.43, Аноним (43), 12:04, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > А мне cgdb, например, нравится. Простой и удобный.

    попробуй самый лучший

    https://github.com/cyrus-and/gdb-dashboard

     
  • 2.10, Аноним (-), 20:54, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Так речь идет про нормальные IDE, а не про ваши vim и emacs.
    Вот в нормальных до сих пор нет
     
     
  • 3.16, Аноним (5), 21:23, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Ну дак пиши разработчикам этих нормальных IDE, а не в новость про GDB. Пусть добавляют поддержку gdb в свои нормальные ide
     
  • 3.29, Александр (??), 01:00, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А что под ними понимаете? Vscode - норм, не жпловался; QtCreator - тоже норм
     
     
  • 4.40, Аноним (7), 10:44, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Qt Creator ещё совсем недавно почти не умел Autotools.
     
  • 3.38, Пряник (?), 10:02, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Стоит задуматься о их "нормальности".
     
  • 3.62, BeLord (ok), 09:53, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Нет нормальных IDE  в вакууме, есть IDE успешно решающую ту или иную задачу.
     
  • 3.70, adolfus (ok), 15:38, 09/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    В slickedit нормальная поддержка.
     
  • 2.17, наука_кандидатов (?), 21:27, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В Qt Creator есть. Какие-то ещё вменяемые свободные IDE не могу назвать.
     
     
  • 3.42, InuYasha (??), 11:43, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Code::Blocks, KDevelop давно не трогал
     
  • 3.66, a1ba (?), 05:19, 06/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Плюсую. В Qt Creator как раз таки самая адекватная поддержка GDB. И ЧСХ она там гораздо лучше, чем поддержка того же LLDB, не говоря уже о виндовом CDB.
     

  • 1.4, Аноним (-), 20:13, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Как классно было в Delphi прожать Debug windows->View CPU и продолжать отлаживать дальше, как ни в чем не бывало.

    Кто тебе мешает делпхи использовать и сегодня?

     
     
  • 2.6, Аноним (3), 20:22, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Тем, что оно платное, а кряканое все равно только для личного пользования можно использовать. Тыж не сможешь это продать. Будет видно, что оно на делфях, и возникнет вопрос по поводу лицензии. Парится с комунити лицензией не охота. Короче нужна свободная замена. Я же еще в винде разочаровался. Ничего больше не должно меня к ней привязывать. Но лазарус что то зачах совсем.
     
     
  • 3.31, Аноним (2), 01:50, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Если ты продавать собрался, так может и не такая уж проблема коммерческую лицензию приобрести? Или ты из тех, кто мечтает построить успешный бизнес с нулём вложений не вставая с дивана?
     
     
  • 4.60, Бывалый смузихлёб (?), 08:42, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    иногда коммерческие лицензии стоят совершенно несоразмерных денег
     

  • 1.13, Аноним (15), 21:11, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –5 +/
    Чем лучше IDA Pro?
     
     
  • 2.20, Аноним (20), 22:12, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А что это такое?
     
  • 2.25, Аноним (25), 23:24, 03/12/2023 [^] [^^] [^^^] [ответить]  
  • +5 +/
    IDA - дизассемблер, gdb - отладчик.
     
     
  • 3.39, Аноним (39), 10:41, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Вылезайте из криокамеры, отладчик там невесть когда ещё был реализован. https://i.imgur.com/UaBB3fR.png
     
  • 2.28, Пельменелюб (?), 00:57, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Оно почти как notepad++, но только в консоли.
    Ну ты понял короче.
     

  • 1.19, Аноним (19), 22:06, 03/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >Добавлена начальная встроенная поддержка протокола DAP (Debugger Adapter Protocol).

    Такой же хлам, как и LSP. Ничему история M$ не учит.

     
     
  • 2.32, Аноним (2), 01:52, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Годную по твоему мнению альтернативу LSP назовёшь или просто хейтишь потому, что LSP Майкрософт запилил?
     
     
  • 3.47, Аноним (47), 13:04, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Я уже рассказывал на OpenNet очевидные вещи, как следовало дизайнить LSP, чтобы уменьшить потребление им ресурсов, увеличить эффективность по циклам процессора и намного упростить интеграцию клиентов в сторонние приложения (интеграция существующего LSP в свою программу - реально боль, поэтому во многих редакторах его поддержки нет, и скорее всего не будет никогда). TL;DR: делать серверы динамически-связываемыми бибшиотеками. Подход много раз уже преуспевший в OpenCL, Vulkan и COM. При необходимости RPC легко может быть навешено уже поверх этого интерфейса.

    Это очевидные вещи. Но M$ гонется не за оптимальностью, а за своей коммерческой выгодой. Им вообще выгодно, чтобы пользовательские машины IDE не тянули, а всё было в ИХ облаке.

    И в DAP M$ сделал так же, как и в LSP.

     
     
  • 4.51, тапочек (?), 15:53, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >во многих редакторах его поддержки нет

    В IDE всё есть, в некоторых редакторах (KDE Kate) тоже есть.

    >делать серверы динамически-связываемыми бибшиотеками

    Сэкономишь сто байтов и три наносекунды в сравнении с сервером в отдельном процессе. Что будешь с ними делать?

    >чтобы пользовательские машины IDE не тянули

    LSP-сервер библиотекой от этого не спасёт, это надо с атлона на новое железо пересесть уже.

     
     
  • 5.52, Аноним (52), 17:12, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А в Notepad попробовали завезти - да за лись и бросили Во-первых, не такая ... большой текст свёрнут, показать
     
     
  • 6.53, тапочек (?), 18:46, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >При разделении на процессы у тебя при крахе сервера крашится сервер, а клиент должен уметь это правильно обработать. При зависании сервера всё ещё более неприятнее. При работе в том же процессе - крашится вся IDE, и на восстановление после сбоя можно забить.

    Ты победил, я сдаюсь.

     
  • 4.54, Аноним (2), 20:35, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Что, не осиливают 171 во многих редакторах 187 сокеты Беда-беда Ну, главно... большой текст свёрнут, показать
     
     
  • 5.57, Аноним (57), 00:31, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну-ка ну-ка, вот тут подробнее давай

    https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi?az=show_thread&om=1315 в частности и весь тред https://www.opennet.me/opennews/art.shtml?num=59754#15 в общем.

    >Сатья хоть в лифте не гадит?

    Только Людвиг Аристархович. Но ведь ему-то это и убирать.

     
     
  • 6.58, Аноним (27), 04:12, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > используешь сервер-адаптер, который на вызовы функций генерит команды, которые пишутся в очередь, и далее в отдельном потоке уже пересылаются по сети

    Поздравляю, вы изобрели LSP. ЧТД. Спасибо, можешь дальше не продолжать.

     
  • 5.59, Аноним (7), 07:26, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Расскажите про Парагвай, пожалуйста. Я хочу релоцироваться куда-нибудь в более безопасное место.
     
     
  • 6.61, Бывалый смузихлёб (?), 08:49, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Но что, если с VS Code, запущенным на винде в парагвае, работа осуществляется через RPD из под Саранска ?
     
  • 6.64, Аноним (2), 20:37, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > Расскажите про Парагвай, пожалуйста.

    Жить лучше всего в Асунсьоне. А ещё лучше не в Парагвае. Слишком уж он условный.

    > Я хочу релоцироваться куда-нибудь в более безопасное место.

    А про Парагвай тебе тогда зачем? Безопасное место — это страны первого мира с где тщательно регулируют оборот оружия.

     
     
  • 7.65, Аноним (65), 22:06, 05/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >где право на оружие закреплено в конституции

    fixed

     
  • 2.45, Вы забыли заполнить поле Name (?), 12:51, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Такой же хлам, как и LSP.

    LSP - это тема. Именно благодаря ему можно пользоваться возможностями инспекции кода в любом редакаторе с поддержкой LSP, а не вот этими тормознутыми IDE на java. К тому же это побуждаем авторов языков самих писать LS, а вот этим тоомознутым IDE на java.

     

  • 1.26, Аноним (26), 00:00, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Кодовая база переведена на использование стандарта C++17.

    Отлично, движемся вперед.

     
     
  • 2.46, Вы забыли заполнить поле Name (?), 12:52, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    А там прям код меняют или просто ключик компилятора?
     
     
  • 3.48, Серб (ok), 13:13, 04/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    Там РАЗРЕШАЮТ использовать C++ 17.
     
     
  • 4.68, аноним17 (?), 09:20, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    так-то он ломает обратную совместимость
     
     
  • 5.69, Серб (ok), 14:42, 07/12/2023 [^] [^^] [^^^] [ответить]  
  • +/
    > так-то он ломает обратную совместимость

    Очевидно те места, где ломается - уже поправили. Поэтому и разрешили.

     

  • 1.33, 11111001010 (?), 09:04, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Люблю этот отладчик больше всех, спасибо за новость, укатил обновляться.
     
  • 1.44, Пряник (?), 12:46, 04/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    У меня layout asm скроллинг застревает, если пролистать дальше последней инструкции в очень маленькой программе на ассемблере. Также, если поместить сегмент data в text, то точка входа оказывается не в 401000, а в 401009 и при скроллинге вообще смещает адреса инструкций и вместо mov первая инструкция rolb.
     
  • 1.67, Аноним (67), 15:32, 06/12/2023 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Мне кажется его не совсем корректно назвали.
    Это не "отладчик GDB", а "GDB - движок для построения отладчиков"
     

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



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

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