The OpenNET Project / Index page

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

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

08.07.2024 23:30

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

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

  • Для сборки GDB и GDBserver теперь необходим компилятор, поддерживающий C++17 (как минимум GCC 9).
  • Внесены улучшения в Python API. Добавлены функции gdb.notify_mi, gdb.missing_debug.register_handler и gdb.interrupt, класс gdb.missing_debug.MissingDebugInfo, модуль db.missing_debug, атрибуты gdb.Value.bytes и gdb.InferiorThread.ptid_string, константы gdb.SYMBOL_TYPE_DOMAIN, gdb.SYMBOL_FUNCTION_DOMAIN и gdb.SEARCH_*_DOMAIN. В объектах gdb.Inferior и gdb.InferiorThread реализована возможность добавления пользовательских атрибутов.
  • Продолжена реализация протокола DAP (Debugger Adapter Protocol). Добавлена команда "set debug dap-log-level" для управления ведением логов для DAP. Добавлена поддержка запроса "cancel" и возможность формирования события "process".
  • В протокол удалённой отладки добавлена поддержка пакетов QThreadOptions и qIsAddressTagged, а также реализована команда "set/show remote thread-options-packet".
  • В GDBserver прекращена поддержка опций "--remote-debug" и "--event-loop-debug", а также команд 'monitor set remote-debug' и 'monitor set event-loop-debug', вместо которых в опции "--debug" реализована возможность передачи разделённого запятыми списка компонентов для отладки (all, threads, event-loop и remote). Аналогично возможность указания компонентов реализована в команде 'monitor set debug'.
  • В индекс добавлена информация о функции main, что позволяет ускорить запуск при использовании с некоторыми большими исполняемыми файлами.
  • Объявлены устаревшими MPX-команды "show/set mpx bound", поддержка которых прекращена Intel в 2019 году.
  • Добавлены новые команды:
    • "set/show direct-call-timeout"
    • "set/show indirect-call-timeout"
    • "set/show unwind-on-timeout on|off"
    • "set/show unwind-on-signal on|off"
  • В командах "gcore" и "generate-core-file" добавлена поддержка оптимизации хранения пустых областей в генерируемых core-файлах.


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


Обсуждение (64) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.5, Аноним (5), 00:44, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Очень сложный отладчик. Пытался к нему прикрутить свой текст. Немного не разобрался
     
     
  • 2.11, mos87 (ok), 07:45, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +6 +/
    А надо было прикручивать код.
     
     
  • 3.13, Аноним (13), 07:49, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Код каждый прикрутить может, а текст прикрутить это не фунт изюма.
     
     
  • 4.73, Аноним (73), 18:35, 11/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Какой то тупой вас диалог вы статьёй не ошиблись Лучше бы подумали о содержи... большой текст свёрнут, показать
     
  • 3.60, Аноним (60), 19:45, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну так код и есть текст. Для того чтобы соединить с программой текст на вашем языке и нужен отладчик. Ахаха, как смешно и остроумно - нужно было код. На чемодан поставь себе код.
     
  • 2.20, Соль земли (?), 09:40, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Он ищет отладочные символы в файле. Форматы разные есть. DWARF, например. Возможно ты не добавил опцию -g
     
     
  • 3.31, Аноним (31), 11:28, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Текст еще любит когда добавляют -О0.
     
  • 3.62, Аноним (60), 20:07, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не, тут ситуация сложнее - просто любитель, поэтому лапки вместо ручек. Сам формат не освоил. Времени не особо на это, но просто интересно. Обыкновенная лень разбираться. Как только это преодолеть, все будет норм. Спасибо хоть на добром слове и желании помочь! Не то что другие - явно ничего не знают, а что-то умное сказать хочется.
     
  • 2.40, adolfus (ok), 12:49, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Чего там рзабираться, все же программистские редакторы с gdb без проблем работают. Кнопку тиснул и редактор переключился в режим отладки. Может вы в нотепаде текст печатаете?
     
     
  • 3.47, Бывалый Смузихлёб (ok), 14:26, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну в том и дело, что работа типо в прослойке к GDB. А не в самом. И вот там, в лучших линуховых традициях, чёрт ногу сломит
     
     
  • 4.57, Витюшка (?), 16:10, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Как раз наоборот. attach pid и готово.

    Кроме консольного gdb нет ни одной работающей прослойки.

    Они поддерживают дай бог 5% от возможностей gdb вроде самых самых примитивных и разваливаются на ходу.

    Например VS Code прямо пишет что команды которые вбиваются напрямую в vs code не поддерживаются и могут нарушить работоспособность.

     
     
  • 5.78, Бывалый Смузихлёб (ok), 19:09, 16/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Подобных инструментов более чем один. Например, был тот же WinDbg. В общем-то, неплохо помог, когда разгребал, почему виндовый ноут хз почему регулярно вырубался с синим экраном. Штука та неплохо и дампы разбирала.
    Но в настоящее время это проблема, что посоны не могут запилить норм интерфейс или хотя бы возможности для того чтобы это сделал кто-то другой, а не заморачивались лепкой консольных команд и разбором выхлопа консоли
     
  • 3.61, Аноним (60), 19:49, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот и напиши программистский редактор без отладчика. Ахаха, как смешно, нотепад! Почему не vi? Так ещё смешнее будет! Тоже мне пользователи - напиши Яндекс за час, там же только одна строчка поиска!
     
  • 2.53, Аноним (53), 14:52, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Очень сложный отладчик. Пытался к нему прикрутить свой текст. Немного не разобрался

    Неужели кто-то повелся на совет редактить объектники текстовым редактором? :)

     

  • 1.6, Аноним (6), 00:52, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >Продолжена реализация протокола DAP (Debugger Adapter Protocol).

    Microsoft всегда делает своё. А могли бы просто написать пару библиотек + спецификацию для существующего протокола gdb, которому и так дофига отладчиков следовало.

     
     
  • 2.7, Аноним (6), 00:55, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >http
    >json
    >процессы

    Всё та же грёбанная модель, что и в LSP.

     
     
  • 3.18, Аноним (18), 08:56, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    LSP гениален, не сметь на него наезжать, или будешь иметь дело со мной.
     
     
  • 4.48, Аноним (48), 14:27, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Аж трясёт.
     
  • 2.30, Аноним (-), 11:10, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Разумеется они делают свое.
    Иначе будут зависить от какого-то гнутого поделия и его безумных адептов, для которых stable is nonsense. Ну и поддержка больше нужна GDB, а не майкам.
     
  • 2.35, Аноним (-), 12:09, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Ну там протокол Я не знаю, что сейчас у них, но лет двадцать назад я пытался ... большой текст свёрнут, показать
     
     
  • 3.41, Аноним (-), 12:52, 09/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.42, Вы забыли заполнить поле Name (?), 13:02, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Проблемы негров фермера не волнуют.
     
  • 3.50, Аноним (48), 14:32, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >переплевался из-за того, что во всех тех протоколах gdb ты с одного файлового дескриптора читаешь выхлопы программы и gdb

    Это необходимо было бы пофиксить, но зачем же систему команд и парсер менять? Что всем теперь новые парсеры и сериализаторы написать и свою систему переделать из-за того, что у M$ NIH-синдром? Все просто забили на этот протокол, из IDE его поддерживают только поделки на основе VSCode. Который не нужен.

     
  • 2.44, akadem (?), 13:05, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Называется это добро gdb/mi (machine interface). Я писал для него клиент. Такого и врагу не пожелаешь.
     
  • 2.68, Аноним (68), 15:15, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Наоборот нужно больше. Например, прикрутить реализацию natvis для более структурированной визуализации данных, а не эти питонии костыли в принтерах.
    Ну и сам DAP допиливать. А то пацаны из Ghidra говорят, что для нормального системного отладчика там функционала не хватает.
     

  • 1.8, Аноним (13), 06:19, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Отлажмваем Модула-2 всем офисом. Полет нормальный.
     
     
  • 2.15, Аноним (15), 08:22, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Не куда вы не летите, только топчетесь на месте.
     
     
  • 3.16, Аноним (16), 08:49, 09/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.23, Аноним (13), 10:12, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Зависть.
     
  • 2.21, xPhoenix (ok), 09:57, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    На Modula-2 написан код систем космического модуля "Буран". Жаль, не все поймут... ;-)
     
     
  • 3.22, Аноним (13), 10:11, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    НПО Решетнёва до сих пор его использует. Только не гццшный.
     
     
  • 4.36, Аноним (36), 12:18, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Компилятор от VAX'a? Т.к., советских спутниках использовался, может, и сейчас используется, ЦПУ 1839ВМ1.
     
  • 3.25, Аноним (13), 10:29, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    У самурая нет цели только путь.
     
  • 3.27, Витюшка (?), 10:55, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какое состояние у Modula-2? Как у Бурана?
     
  • 3.34, Аноним (36), 12:02, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Только где он тот Буран...
     
     
  • 4.54, Аноним (53), 14:54, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Только где он тот Буран...

    В парке развлечений стоял. Но и оттуда зачем-то убрали. Видимо по принципу "так не доставайся ж ты никому!"

     
  • 3.43, Вы забыли заполнить поле Name (?), 13:03, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Исходники бы глянуть.
     
     
  • 4.45, Аноним (13), 13:33, 09/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 3.58, Аноним (58), 18:28, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    А на Драконе тогда что написано?
     
     
  • 4.69, Аноним (69), 16:24, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    CrewDragon
     
  • 3.59, _ (??), 18:31, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    >На Modula-2 написан код систем космического модуля "Буран". Жаль, не все поймут... ;-)

    Отчего же, всё как раз понятно...
    Быстрее всего ты - очередной мимокрокодил (трепло по простому).
    Нам тут неоднократно пели о том что там был Дракон, а ты поёшь не в ногу :-)

    PS: А Буран всё же жаль. Артефакт исчезнувшей супер-цивилизации итить .... :(

     
     
  • 4.63, Аноним (63), 06:44, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • –2 +/
    >А Буран всё же жаль. Артефакт исчезнувшей супер-цивилизации итить .... :(

    Наоборот же. Списали оверзатратный проект раньше конкурентов. "Шаттлы" же тоже закрыли, только при этом похоронив в них кучу денег.

    Настоящий реюз ракет -- это как у владельца Твиттера.

     
     
  • 5.77, Аноним (-), 19:13, 11/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Наоборот же. Списали оверзатратный проект раньше конкурентов. "Шаттлы" же тоже закрыли,
    > только при этом похоронив в них кучу денег.

    Что, прям похоронив?
    В где была бы МКС без шатлов? Как бы притащили на нужную орбиту тот же Рассвет, у которого своих движком нету?
    Кто бы отремонтировал Хабл?
    Чем бы ты закинули на орбиту больше тысячи тонн грузов, особенно крупногабаритных?
    Да получилось дорого, но "я использовал технологии своего времени"

    > Настоящий реюз ракет -- это как у владельца Твиттера.

    Да, вот только во времена шатлов не было такой микроэлектроники, которая бы позволяла провернуть фокус "у нас есть десяток-два движков, и мы будем ими всеми управлять с приемлимой точность".
    Попытка Н-1 хорошо показала, насколько это сложно.


     

  • 1.19, Соль земли (?), 09:38, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ещё есть графический интерфейс https://cutter.re
     
     
  • 2.26, Аноним (13), 10:31, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А ещё есть Ида про.
     
     
  • 3.37, Аноним (36), 12:20, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    К чему здесь упоминать проприетарь?
     
     
  • 4.52, Аноним (48), 14:35, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Потому что это вообще единственная рабочая вещь.
     
     
  • 5.55, Аноним (53), 14:55, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Потому что это вообще единственная рабочая вещь.

    Экий даунппей анбшной гидры. И да, иметь дело с IllF*ck'ом - таки хреновая затея.

     
     
  • 6.64, Аноним (64), 11:51, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Не имей дело с ильфаком, имей дело с 6.1.
     
  • 3.49, Бывалый Смузихлёб (ok), 14:29, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Оно денюх стоит. Поэтому ненужно
     
     
  • 4.65, Аноним (64), 11:52, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    6.1 денег стоит?!
     
  • 2.29, Аноним (29), 11:10, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Пф-ф-ф, gdb -tui
     
  • 2.51, Аноним (48), 14:34, 09/07/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.32, Аноним (32), 11:46, 09/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ну и как? Кто пользовался? Нормально отлаживает?
     
     
  • 2.38, Соль земли (?), 12:39, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Показывает позицию в коде программы, значение регистров проца, ячеек памяти (куча/стек/data/bss), ассемблерный вид. А что ещё надо, чтобы понять когда и почему значение переменной изменилось?
     
     
  • 3.46, Аноним (13), 13:34, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Можно дебажить принтами.
     
     
  • 4.56, Аноним (53), 14:57, 09/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > Можно дебажить принтами.

    Можно. Но если раз в месяц вон та онлайн штука упала и сделала core dump, так несподручно будет. В таком случае проще core dump поковырять в сабже бывает.

     
  • 3.66, n00by (ok), 14:25, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    > А что ещё надо, чтобы понять когда и почему
    > значение переменной изменилось?

    Для отлова ошибок второго порядка (use-after-free и т.п.) -- аппаратная точка останова на чтение-запись адреса переменной, либо трасировка с остановом по условию (долго). Понимать "че же я там понаписал в исходниках", пошагово отлаживая - так себе идея.

     
     
  • 4.70, Соль земли (?), 18:01, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это когда у тебя огромный монолит. Сейчас модно дробить на более отлаживаемые модули.
     
     
  • 5.71, n00by (ok), 18:45, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Я догадываюсь, что ныне не у всех в моде понимать, что там понаписано в исходниках, глядя на исходники, и проверять это отладочным выводом и тестами. Если же так интересно, что там у меня, то мне отладчик необходим, когда исходников нет. Или когда значение регистров процессора волшебным образом меняется, потому что я не настроил альтернативный стек для обработчика сигналов и при неудачном положении звёзд перезаписывается uc_mcontext - это как раз подпадает под случай "не понял, что написал". Такого рода ошибку ты никак не отладишь, усердно нажимая F5.
     
  • 2.67, n00by (ok), 14:30, 10/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Отлаживает нормально, но после OllyDbg и подобного может порвать шаблон или ещё что.
     

  • 1.72, Аноним (72), 15:42, 11/07/2024 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Коллеги, поделитесь успехами. Удалось ли отладить код на Modula-2?
     
     
  • 2.75, Аноним (73), 18:54, 11/07/2024 [^] [^^] [^^^] [ответить]  
  • +/
    Это же OSC, а главный его плюс: лопата есть - вперед расширять проход самому...
     

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



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

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