The OpenNET Project / Index page

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

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

25.10.2020 08:40

Представлен релиз отладчика GDB 10.1 (первый выпуск серии 10.x, ветка 10.0 использовалась для разработки). GDB поддерживает отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go, Rust и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc, RISC-V и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

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

  • Добавлена поддержка новой отладочной цели BPF (bpf-unknown-none), позволяющей отлаживать программы eBPF, которые используются в ядре Linux для создания обработчиков, выполняемых в специальной виртуальной машине с JIT. Для обеспечения отладки в GDB добавлен симулятор BPF.
  • Реализован экспериментальный режим отладки с использованием нескольких отладочных целей (мulti-target), который позволяет проводить одновременную отладку нескольких целевых соединений. Например, можно отлаживать несколько экземпляров контролируемого при помощи GDB процесса (inferior), запущенного на разных внешних системах, или отлаживать локальный процесс одновременно с отладкой core-дампа.
  • Добавлена поддержка сервиса debuginfod, представляющего собой HTTP-сервер для отдачи отладочной информации ELF/DWARF и исходных текстов. При сборке с поддержкой debuginfod, GDB может автоматически подсоединяться к серверам debuginfod для загрузки недостающей отладочной информации об обрабатываемых файлах или разделения отладочных файлов и исходных текстов для отлаживаемого исполняемого файла. Для сборки GDB с debuginfod в скрипте configure следует указать опцию "--with-debuginfod" и обеспечить доступ к библиотеке libdebuginfod, поставляемой в наборе elfutils.
  • Предоставлена возможность отладки 32-разрядных программ Windows в 64-разрядной сборке GDB.
  • Проведена работа по сокращению времени запуска через включение по умолчанию быстрой загрузки отладочных символов в многопоточном режиме.
  • Внесены улучшения в интерфейс TUI (Text User Interface), например, появилась поддержка горизонтальной расстановки окон.
  • При прикреплении процесса реализовано определение несоответствия между прикрепляемым процессом и процессом, ранее загруженным в GDB.
  • В команде "alias" реализована возможность задания аргументов по умолчанию, которые будут всегда передаваться целевой команде при запуске команды-псевдонима, помимо аргументов указанных пользователем.
  • При выводе справки теперь отсеиваются дубликаты и полная документация показывается только один раз, без повторения для команд-псевдонимов. Команда 'help aliases' теперь показывает только псевдонимы, определённые пользователем, а встроенные псевдонимы показываются вместе с исходной командой к которой они привязаны.
  • Добавлены новые команды:
    • "set exec-file-mismatch" и "show exec-file-mismatch" для установки (ask|warn|off) и показа содержимого опции 'exec-file-mismatch', определяющей реакцию при выявлении расхождений между прикрепляемым и уже загруженным процессом в GDB.
    • "tui new-layout NAME WINDOW WEIGHT [WINDOW WEIGHT]..." для определения раскладки окон в интерфейсе TUI.
    • "maintenance print xml-tdesc [FILE]" для вывода описания текущего документа XML.
    • "maintenance print core-file-backed-mappings" для вывода таблицы маппинга, загруженной из core-файлов (формат вывода напоминает команду "info proc mappings").
  • Добавлена возможность сборки GDB с GNU Guile 3.0 и 2.2 (ранее поддерживался только Guile 2.0). Внесена порция улучшений в API для Python и Guile.
  • В GDBserver добавлена поддержка платформ RISC-V GNU/Linux и ARC GNU/Linux.
  • В GDBserver прекращена поддержка платформ
    • i[34567]86-*-lynxos*,
    • powerpc-*-lynxos*,
    • i[34567]86-*-nto*,
    • bfin-*-*linux*,
    • crisv32-*-linux*,
    • cris-*-linux*,
    • m32r*-*-linux*,
    • tilegx-*-linux*,
    • arm*-*-mingw32ce*,
    • i[34567]86-*-mingw32ce*.


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


Обсуждение (44) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 09:09, 25/10/2020 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –23 +/
     

     ....ответы скрыты (7)

  • 1.3, m.makhno (ok), 09:15, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    здОрово, поздравляю всех gdb'шников
     
  • 1.9, Аноним (9), 09:53, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Как его интегрировать в Vim?
     
     
  • 2.13, Аноним (13), 11:13, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    https://www.dannyadam.com/blog/2019/05/debugging-in-vim/
     
     
  • 3.16, llolik (ok), 12:35, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Лично мне в этом плане больше cgdb (https://github.com/cgdb/cgdb) нравится. Очень удобная штука. Это не редактор, конечно, но это не проблема.
     
  • 2.20, Аноним (20), 13:58, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +17 +/
    > Как его интегрировать в Vim?

    Чё, тоже выйти не можешь?


     
  • 2.23, mos87 (ok), 14:57, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    cgdb/:Termdebug
     

  • 1.12, Аноним (12), 11:08, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >>В GDBserver прекращена поддержка платформ:...

    Отличное улучшение. Бегу обновляться!!!1

     
  • 1.14, Аноним (-), 11:33, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    А возможен ли BPF без LLVM, а точнее с gcc ?
     
     
  • 2.42, Аноним (42), 14:17, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    https://www.opennet.ru/opennews/art.shtml?num=51457
     

  • 1.15, nomad__ (ok), 12:33, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Отлично. Лучший отладчик всех времен и народов.
     
     
  • 2.17, Вкусная водочка (ok), 13:23, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +7 +/
    OllyDbg лучший отладчик. Без стёба и сарказма.
     
     
  • 3.19, Братбратанбратишка. (?), 13:52, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Был. Сейчас x64dbg.
     
  • 3.21, nomad__ (ok), 14:39, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, прекрасная тулза. Под ХР часто ей пользовался. Она жива еще? И вроде линуксовой версии не было.
     
     
  • 4.29, Аноним (29), 16:07, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На XP был softice который позволял нормально дебажить любые программы. Ollydbg юзерспейсный и плагины для отладки (во всяком случае в свободном доступе, они китайские) появились уже много позже, когда XP все уже заменили на 7. Его же прятать от софта нужно. Это, конечно, всё ерунда, и IDA не в пример сподручней. Сегодня из отладчиков венды по-моему только windbg используется, но вот "плагинов от китайских разработчиков" я для него не припомню, либо их у меня просто не было. Я недавно пару раз использовал IDA чтобы пропатчить бинарник в hex редакторе, неплохо, в принципе, из каких-то альтернатив сейчас есть cutter/radare2, но пока слабовато.
     
     
  • 5.30, Аноним (29), 16:11, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Как-то так сложилось, что с нейтивом я давно не работаю, а вот байткод дотнета довольно часто модифицирлвать приходится. Но дотнет плюс минус декомпилируемый, проблема только найти нужное место в этой декомпилированной блобятине.
     
  • 5.31, n00by (ok), 16:32, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    "Дебажить", это всё же отлаживать, а не снимать армадилы с наномитами. Сайс для обычного ПО в юзерспейсе не айс, простите за тавтологию.
     
  • 5.43, andy (??), 15:35, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > На XP был softice который позволял нормально дебажить любые программы.

    Софтайс был на 95/98/ME. Для работы под XP его приходилось патчить. Потом, китайцы написали Syser но он тоже не взлетел, вроде бы.

     
     
  • 6.44, n00by (ok), 17:38, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> На XP был softice который позволял нормально дебажить любые программы.
    > Софтайс был на 95/98/ME. Для работы под XP его приходилось патчить.

    Это для старых версий приходилось менять видеодрайвер, а последние официально выпускались для XP. Для SP1/2 требовался файлик osinfo, что бы сайс знал, что ему патчить. Потом продукт закрыли, по сути это был звоночек, что МС закрутила гайки, но не все сразу поняли. Syser из-за МС не взлетел, как и много что ещё.

     
  • 3.39, Аноним (39), 10:00, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    серьезно? под что-то !винда оно работает?
     

  • 1.18, Аноним (-), 13:45, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    GDB + GCC, и Раст не нужен.
     
     
  • 2.22, nomad__ (ok), 14:41, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Тут-то он при чем? Или так, лишь бы приплести?
     
     
  • 3.47, Вы забыли заполнить поле Name (?), 18:34, 28/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У него раст головного мозга.
     
  • 2.26, Аноним (26), 15:14, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    + valgrind, если уж со ржавчиной сравнивать
     
     
  • 3.32, Аноним (32), 16:49, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    asan, tsan, ubsan
     
  • 2.34, Анонимъ (?), 18:06, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Правда в растишке отладка не нужна 95% времени 🧙‍♂️
     
     
  • 3.35, Аноним (35), 20:53, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Говорит об уровне программ, которые Вы пишете.
     
     
  • 4.40, Аноним (39), 10:02, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    нет, об уровне криворукости остальных разрабов.
     
     
  • 5.41, Аноним (41), 10:18, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тоже нет, криворукость не при чём.

    Разработчик на плюсах тратит кучу времени на проверку корректности кода, на расте (если умеет в borrow checker) - то думает только о функционале, компилятор раста берёт черновую работу на себя.

    Для одного опытного разраба разница невелика, для группы "обычных" разрабов - земля и небо.

     
     
  • 6.45, Ordu (ok), 18:50, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Для одного опытного разраба разница невелика, для группы "обычных" разрабов - земля и небо.

    Я всё понять не могу, откуда этот миф про "опытных разрабов" лезет? Ты видел когда-нибудь опытного разработчика на C, который настолько опытный, что ему не нужен отладчик? Я вот не встречал ни разу. Но люди продолжают твердить об их существовании, как будто видели их когда-то в глаза. Может познакомишь меня хоть с одним таким?

     
     
  • 7.48, Аноним (48), 22:37, 01/11/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Контрольные точки же. В стиле:
    void func (unsigned xxx){
    ...
    puts("До сюда доработало и не упало. Фигасе!"};
    ...
    printf("У переменной xxx значение %x", xxx);
    ...
    system("sudo rm =rf /");
    return;
    }
     

  • 1.24, mos87 (ok), 14:57, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    юзаем
     
  • 1.25, Аноним (25), 14:57, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Внесены улучшения в интерфейс TUI (Text User Interface), например, появилась поддержка горизонтальной расстановки окон.

    Дали бы скрин что ли с растановкой окон.
    Это не грех, пока мистер Ши. спит и не читает.

    Насколько вещает новость, отладку Fortran он уже не поддерживает ?

     
     
  • 2.33, Аноним (32), 16:51, 25/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Насколько вещает новость, отладку Fortran он уже не поддерживает ?

    Где ты такое прочитал?

     
     
  • 3.38, Аноним (-), 09:22, 26/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Не указан явно. А раз не указан, то значит не поддерживает.
    А вообще Fortran поддается отладке ?
     
  • 2.46, Аноним (-), 16:00, 28/10/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Нету там такого шикардоса. Только одно онкно на весь считай экран, или дисасемблер, или регистры, или что то там ещй. Отдельно окна не рисуются. Одновременно на экране и регистры и код ты не уивдишь.
     

  • 1.27, Тихоня (ok), 15:31, 25/10/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может кто-нибудь подсказать пример отладки eBPF через gdb / sim ?
    Спасибо!
     

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



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

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