The OpenNET Project / Index page

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

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

06.02.2014 21:22

Объявлено о выходе новой версии отладчика GDB 7.7, поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc и т.д.) и программных платформах (GNU/Linux, Unix, Windows).

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

  • Поддержка платформ Nios II ELF (nios2*-*-elf), Nios II GNU/Linux (nios2*-*-linux) и Texas Instruments MSP430 (msp430*-*-elf);
  • Для C++ реализована поддержка оператора 'typeid' и возможность фильтрации по типу исключений при установке catchpoint (catch exception);
  • Улучшение поддержки средств для создания вспомогательных скриптов на языке Python: поддержка временных точек останова, фильтров и декораторов фреймов (frame), возможность линейного представления таблиц, новый атрибут 'parent_type' для объектов gdb.Field и 'name' для gdb.Type;
  • Новые команды:
    • show configuration
    • catch rethrow
    • info exceptions [REGEXP]
    • remove-symbol-file [FILENAME | -a ADDRESS]
    • maint check-psymtabs
    • maint check-symtabs
    • maint expand-symtabs
    • maint set|show per-command [space | time | symtab]
  • Новые опции:
    • set|show debug symfile off|on
    • set|show print raw frame-arguments
    • set|show remote trace-status-packet
    • set|show debug nios2
    • set|show range-stepping
    • set|show startup-with-shell
    • set|show code-cache
  • Новые вспомогательные переменные: $_exception, $_exitsignal и $_isvoid;
  • Улучшение программного интерфейса управления GDB/MI:
    • Новые команды: "-catch-assert", "-catch-exceptions", "-info-ada-exceptions", "-info-gdb-mi-command", "-dprintf-insert", "-trace-frame-collected", "-trace-save CTF";
    • Для всех команд добавлена опция "--language";
    • Для команд "-data-list-register-values", "-stack-list-locals", "-stack-list-arguments" и "-stack-list-variables" добавлена поддержка опции"--skip-unavailable";
    • В команду "-exec-run" добавлена опция "--start";
  • Поддержка раскрутки стека (unwinding) на платформе Windows x64;
  • Поддержка контрольных вызовов SystemTap SDT для архитектуры AArch64 GNU/Linux;
  • В команду 'tsave' добавлена поддержка формата CTF (Common Trace Format);
  • Добавлены новые скрипты gcore (создание core dump для работающего процесса без его остановки) и contrib/gdb-add-index.sh (добавление секции .gdb_index в исполняемые файлы);
  • Для платформ arm*-linux улучшена поддержка записи и повторного выполнения операций (record/replay);
  • Удалена поддержка устаревших конфигураций NetBSD и OpenBSD с форматом a.out (поддержка ELF сохранена в полном объёме);
  • Команда "set|show remotebaud" объявлена устаревшей, вместо неё следует использовать "set|show serial baud".


  1. Главная ссылка к новости (https://sourceware.org/ml/gdb-...)
  2. OpenNews: Релиз системы динамической отладки SystemTap 2.4
  3. OpenNews: Выпуск отладчика GDB 7.6
  4. OpenNews: Релиз отладчика GDB 7.5
  5. OpenNews: Релиз отладчика GDB 7.4
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39029-gdb
Ключевые слова: gdb, debug
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (44) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 21:33, 06/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Удивительно, пользуюсь регулярно им уже лет 5-7, но за версиями не следил никогда.
    Пока мне эта новость на глаза не попалась я и не знал, что он там уже 7.x
    Вот что значит "просто работает"
     
     
  • 2.3, Аноним (-), 22:24, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вот что значит, пользуешься только чтобы bt из корки забрать.
     
     
  • 3.4, A.Stahl (ok), 22:27, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, это значит что я не использую его напрямую, а через интерфейс, предоставляемый IDE.
    Очень удобно, кстати.
     
     
  • 4.5, Аноним (-), 22:30, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    это значит, что им практически не пользуешься
     
     
  • 5.7, A.Stahl (ok), 22:33, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +13 +/
    А ещё я вместо Генту Дебиан использую.
    Я безнадёжен, да?
     
  • 5.21, Аноним (-), 00:02, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Активное использование отладчика - плохой признак.
     
     
  • 6.22, Карбофос (ok), 00:05, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    если разбираться с чужим кодом - вполне даже. но для своего кода частое использование отладчика означает недопонимание своего же алгоритма, это да.
     
     
  • 7.30, тоже Аноним (ok), 09:58, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Бывают простые и понятные алгоритмы, конкретный рантайм которых в голову тупо не влезает.
    Например, при небольшой оптимизации перебора с отходом назад прокрутить изменения в голове решительно невозможно, нужно смотреть, как "пропускаются повороты" в конкретных ситуациях.
     
     
  • 8.36, Карбофос (ok), 23:33, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    как ни странно, мне именно в таких случаях помогает выдача в ключевых местах зна... текст свёрнут, показать
     
     
  • 9.38, тоже Аноним (ok), 10:18, 08/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Просто для понимания всей картины рантайма требовалось довольно много данных, а ... текст свёрнут, показать
     
     
  • 10.39, Карбофос (ok), 15:22, 08/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    зависит от задачи, это да простыни стараюсь не делать, только несколько примеро... текст свёрнут, показать
     
  • 4.15, userlocalhost (?), 23:38, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Кстати, какие удобные IDE для gdb можете посоветовать или какие-либо там надстройки для отладки в целом ? а то толком им не пользовался, но возможностей у него хватает..)
     
     
  • 5.17, A.Stahl (ok), 23:48, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Я сишник-плюсовик, поэтому QtCreator "наше всё"...
    А в отрыве от IDE всё грустно и ничем не лучше консольного варианта -- те интерфейсы, которые я видел, выглядели приветом из 90х.
    И не потому, что дизайн такой, а потому, что они и есть родом из 90х.
     
  • 5.19, myhand (ok), 23:53, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    emacs
     
  • 5.32, Игорь (??), 11:59, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Я использую cgdb.
    Написан на ncurses, не требует X-ов.
     
  • 5.33, A. (?), 12:02, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Наиболее полнофункциональной считается Eclipse с CDT, но имейте в виду, что она на Java
     
  • 5.34, Аноним (-), 13:51, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    gdb --tui
     
  • 5.40, arisu (ok), 10:42, 09/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Кстати, какие удобные IDE для gdb можете посоветовать или какие-либо там надстройки
    > для отладки в целом ? а то толком им не пользовался,
    > но возможностей у него хватает..)

    таки cgdb, как сказали выше. не без неудобств (подпилить которые у меня всё руки не доходят), но в итоге у тебя лучшее из обоих миров: и более-менее удобно бегать по коду, и вся мощь командной строки gdb под рукой.

     
  • 3.13, Карбофос (ok), 23:18, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    я люблю использовать printf, cout, qDebug для отладки. до gdb с backtrace дело доходит редко, да и то, когда время сильно уж поджимает, или искать не очень хочется - использую. такие дела.
     
     
  • 4.16, BratSinot (ok), 23:44, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Вот если разок потратить время и научится этим пользоваться без всяких printf'ов, то здорово сэкономит время.
     
     
  • 5.20, Карбофос (ok), 23:56, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    до вывалов программы дело доходит редко из-за прелюдий с printf'ами. меня это чаще заставляет думать заранее, как избежать аварийной ситуации. хотя, подходы у разных людей разные. gdb тоже позволяет распечатывать содержимое переменных и прочие интересности, но если выкрашивается релизная версия, без дебуг-инфы, что тогда?
     
     
  • 6.24, Алексей (??), 00:30, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Принтфы - поход в ядро (контекст меняют), а это значит, что есть влияние на многопоточность, что не всегда приемлемо.
     
     
  • 7.25, Алексей (??), 00:31, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Виноват, не увидел коммент в соседней ветке (ниже).
     
  • 7.26, Карбофос (ok), 00:45, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    ну я же не писал, что printf - таблетка от всего ;) да и поток букаф из программы парсить - можно вспотеть. без фанатизма использую. ровно как и gdb. стараюсь избегать экстремальное программирование. конечно, от программиста зависит, какой метод лучше использовать в поиске ошибок, или стараться заранее исключить большинство критических ситуаций.
     
  • 5.41, arisu (ok), 10:57, 09/02/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вот если разок потратить время и научится этим пользоваться без всяких printf'ов,
    > то здорово сэкономит время.

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

    ещё, кстати, круто рулят вещи типа командной консоли. или библиотеки — к сожалению, забыл название, — которая позволяет присоединиться к работающей софтине так, как будто это sql-сервер и простыми запросами смотреть на то, что внутри программы происходит. данная конкретная библиотека эмулировала postgres на уровне, достаточном, чтобы консольной постгресовской тулзой можно было подключаться.

     
  • 3.23, anonymous (??), 00:15, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Вот что значит, пользуешься только чтобы bt из корки забрать.

    Как-то так. В асинхронных программах только это и остается. В ядрах и этого часто нет. А в линейных программах не очень и нужно.

     

  • 1.2, Black Paladin (?), 21:59, 06/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Согласен. Не пользуюсь практически ничем из обозначенных нововведений. Использую от силы команд 5-10 и то в сокращенном до одной буквы виде. А код пишу в mcedit/far.
     
     
  • 2.11, Crazy Alex (ok), 22:50, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    С одной стороны - гордиться нечем (собственно, я и сам такой), с другой - таки большее нужно, похоже, только узкому кругу. Но очень радует, что если понадобится - этот инструментарий под рукой.
     

  • 1.6, IMHO (?), 22:32, 06/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    edb есть
     
     
  • 2.18, atnt (?), 23:50, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    edb, кажется, не умеет source layout, только асм.
     

  • 1.8, Аноним (-), 22:37, 06/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Ubuntu 12.04.4 вышла
     
     
  • 2.10, imprtat (ok), 22:40, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • +14 +/
    Сообщи когда вернется
     
  • 2.12, anonymous (??), 23:00, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Ubuntu 12.04.4 вышла

    fglrx у одного меня сдох?

     
     
  • 3.14, Аноним (-), 23:33, 06/02/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Там иксы до 0.15 случаем не обновили?
     
     
  • 4.28, Led (ok), 04:55, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Там иксы до 0.15 случаем не обновили?

    fglrx для xorg-server 1.15 уже дней десять как есть.

     
  • 3.31, тоже Аноним (ok), 10:03, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А, вы - тот единственный из обладателей Радеонов, кто еще не знает принципа "не обновляй Убунту сразу после анонса"?
    Я, признаться, глянул на список обновленного и не нашел, зачем мне вообще обновляться.
     
     
  • 4.35, anonymous (??), 22:48, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > А, вы - тот единственный из обладателей Радеонов, кто еще не знает
    > принципа "не обновляй Убунту сразу после анонса"?
    > Я, признаться, глянул на список обновленного и не нашел, зачем мне вообще
    > обновляться.

    Возможно. С прошлыми обновлениями всё нормально проходило, скажем так.

     

  • 1.9, ананим (?), 22:40, 06/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Для C++ реализована поддержка оператора 'typeid'

    О, RTTI из каропки.
    Здорово.

     
  • 1.27, Perain (?), 00:48, 07/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    Valve развивает LLDB,

    GDB R.I.P

     
     
  • 2.29, Led (ok), 04:56, 07/02/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > GDB R.I.P

    А вот и putty.exe'шники подползли...

     
  • 2.37, kurokaze (ok), 01:45, 08/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Конечно рип, кто ж спорит, только думаю твой раньше настанет, такими темпами, ггг
     
  • 2.42, Карбофос (ok), 13:00, 09/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    у фанатиков, как правило, наблюдается
    brain R.I.P.
     

  • 1.43, Аноним (-), 17:47, 10/02/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Ждйм lldb. gdb всегда можно было пользоваться только от безысходности.
     
     
  • 2.44, arisu (ok), 02:22, 11/02/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > Ждйм lldb.

    ждйте, ждйте.

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



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

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