URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID3
Нить номер: 93903
[ Назад ]

Исходное сообщение
"Выпуск отладчика GDB 7.7"

Отправлено opennews , 06-Фев-14 21:33 
Объявлено (https://sourceware.org/ml/gdb-announce/2014/msg00001.html) о выходе новой версии отладчика GDB 7.7 (http://www.gnu.org/software/gdb/), поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (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 (https://sourceware.org/gdb/onlinedocs/gdb/Set-Catchpoints.html) (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 (https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html):


- Новые команды: "-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" объявлена устаревшей, вместо неё следует использовать  "show|show serial baud".

URL: https://sourceware.org/ml/gdb-announce/2014/msg00001.html
Новость: http://www.opennet.me/opennews/art.shtml?num=39029


Содержание

Сообщения в этом обсуждении
"Выпуск отладчика GDB 7.7"
Отправлено A.Stahl , 06-Фев-14 21:33 
Удивительно, пользуюсь регулярно им уже лет 5-7, но за версиями не следил никогда.
Пока мне эта новость на глаза не попалась я и не знал, что он там уже 7.x
Вот что значит "просто работает"

"Выпуск отладчика GDB 7.7"
Отправлено Аноним , 06-Фев-14 22:24 
Вот что значит, пользуешься только чтобы bt из корки забрать.

"Выпуск отладчика GDB 7.7"
Отправлено A.Stahl , 06-Фев-14 22:27 
Нет, это значит что я не использую его напрямую, а через интерфейс, предоставляемый IDE.
Очень удобно, кстати.

"Выпуск отладчика GDB 7.7"
Отправлено Аноним , 06-Фев-14 22:30 
это значит, что им практически не пользуешься

"Выпуск отладчика GDB 7.7"
Отправлено A.Stahl , 06-Фев-14 22:33 
А ещё я вместо Генту Дебиан использую.
Я безнадёжен, да?

"Выпуск отладчика GDB 7.7"
Отправлено Аноним , 07-Фев-14 00:02 
Активное использование отладчика - плохой признак.

"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 07-Фев-14 00:05 
если разбираться с чужим кодом - вполне даже. но для своего кода частое использование отладчика означает недопонимание своего же алгоритма, это да.

"Выпуск отладчика GDB 7.7"
Отправлено тоже Аноним , 07-Фев-14 09:58 
Бывают простые и понятные алгоритмы, конкретный рантайм которых в голову тупо не влезает.
Например, при небольшой оптимизации перебора с отходом назад прокрутить изменения в голове решительно невозможно, нужно смотреть, как "пропускаются повороты" в конкретных ситуациях.

"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 07-Фев-14 23:33 
как ни странно, мне именно в таких случаях помогает выдача в ключевых местах значений переменных, или структур. не обязательно их там центнерами выдавать в консоль, или в файл.

"Выпуск отладчика GDB 7.7"
Отправлено тоже Аноним , 08-Фев-14 10:18 
Просто для понимания всей картины рантайма требовалось довольно много данных, а для понимания, нужно ли сейчас эту картину вообще анализировать - немного. При этом повторяемость у алгоритма отсутствует в моем случае. Проще было работать с отладчиком, чем с простынями логов.

"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 08-Фев-14 15:22 
зависит от задачи, это да. простыни стараюсь не делать, только несколько примеров данных, т.к. быстро заблудиться можно и вообще нихрена не понять.
или вот интересно бывает, когда и сколько раз создаётся объект и сколько раз уничтожается. можно брекпоинт поставить конечно и ручками дальше, а можно и выдавать сообщение при запуске, или счётчик использовать. можно и valgrind'ом пройтись.
комбинировать надо, конечно. ни то, ни другое не является универсальным решением. кому как быстрее и эффективнее.

"Выпуск отладчика GDB 7.7"
Отправлено userlocalhost , 06-Фев-14 23:38 
Кстати, какие удобные IDE для gdb можете посоветовать или какие-либо там надстройки для отладки в целом ? а то толком им не пользовался, но возможностей у него хватает..)

"Выпуск отладчика GDB 7.7"
Отправлено A.Stahl , 06-Фев-14 23:48 
Я сишник-плюсовик, поэтому QtCreator "наше всё"...
А в отрыве от IDE всё грустно и ничем не лучше консольного варианта -- те интерфейсы, которые я видел, выглядели приветом из 90х.
И не потому, что дизайн такой, а потому, что они и есть родом из 90х.

"Выпуск отладчика GDB 7.7"
Отправлено myhand , 06-Фев-14 23:53 
emacs

"Выпуск отладчика GDB 7.7"
Отправлено Игорь , 07-Фев-14 11:59 
Я использую cgdb.
Написан на ncurses, не требует X-ов.

"Выпуск отладчика GDB 7.7"
Отправлено A. , 07-Фев-14 12:02 
Наиболее полнофункциональной считается Eclipse с CDT, но имейте в виду, что она на Java

"Выпуск отладчика GDB 7.7"
Отправлено Аноним , 07-Фев-14 13:51 
gdb --tui

"Выпуск отладчика GDB 7.7"
Отправлено arisu , 09-Фев-14 10:42 
> Кстати, какие удобные IDE для gdb можете посоветовать или какие-либо там надстройки
> для отладки в целом ? а то толком им не пользовался,
> но возможностей у него хватает..)

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


"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 06-Фев-14 23:18 
я люблю использовать printf, cout, qDebug для отладки. до gdb с backtrace дело доходит редко, да и то, когда время сильно уж поджимает, или искать не очень хочется - использую. такие дела.

"Выпуск отладчика GDB 7.7"
Отправлено BratSinot , 06-Фев-14 23:44 
Вот если разок потратить время и научится этим пользоваться без всяких printf'ов, то здорово сэкономит время.

"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 06-Фев-14 23:56 
до вывалов программы дело доходит редко из-за прелюдий с printf'ами. меня это чаще заставляет думать заранее, как избежать аварийной ситуации. хотя, подходы у разных людей разные. gdb тоже позволяет распечатывать содержимое переменных и прочие интересности, но если выкрашивается релизная версия, без дебуг-инфы, что тогда?

"Выпуск отладчика GDB 7.7"
Отправлено Алексей , 07-Фев-14 00:30 
Принтфы - поход в ядро (контекст меняют), а это значит, что есть влияние на многопоточность, что не всегда приемлемо.

"Выпуск отладчика GDB 7.7"
Отправлено Алексей , 07-Фев-14 00:31 
Виноват, не увидел коммент в соседней ветке (ниже).

"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 07-Фев-14 00:45 
ну я же не писал, что printf - таблетка от всего ;) да и поток букаф из программы парсить - можно вспотеть. без фанатизма использую. ровно как и gdb. стараюсь избегать экстремальное программирование. конечно, от программиста зависит, какой метод лучше использовать в поиске ошибок, или стараться заранее исключить большинство критических ситуаций.

"Выпуск отладчика GDB 7.7"
Отправлено arisu , 09-Фев-14 10:57 
> Вот если разок потратить время и научится этим пользоваться без всяких printf'ов,
> то здорово сэкономит время.

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

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


"Выпуск отладчика GDB 7.7"
Отправлено anonymous , 07-Фев-14 00:15 
> Вот что значит, пользуешься только чтобы bt из корки забрать.

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


"Выпуск отладчика GDB 7.7"
Отправлено Black Paladin , 06-Фев-14 21:59 
Согласен. Не пользуюсь практически ничем из обозначенных нововведений. Использую от силы команд 5-10 и то в сокращенном до одной буквы виде. А код пишу в mcedit/far.

"Выпуск отладчика GDB 7.7"
Отправлено Crazy Alex , 06-Фев-14 22:50 
С одной стороны - гордиться нечем (собственно, я и сам такой), с другой - таки большее нужно, похоже, только узкому кругу. Но очень радует, что если понадобится - этот инструментарий под рукой.

"Выпуск отладчика GDB 7.7"
Отправлено IMHO , 06-Фев-14 22:32 
edb есть

"Выпуск отладчика GDB 7.7"
Отправлено atnt , 06-Фев-14 23:50 
edb, кажется, не умеет source layout, только асм.

"Ubuntu"
Отправлено Аноним , 06-Фев-14 22:37 
Ubuntu 12.04.4 вышла

"Ubuntu"
Отправлено imprtat , 06-Фев-14 22:40 
Сообщи когда вернется

"Ubuntu"
Отправлено anonymous , 06-Фев-14 23:00 
> Ubuntu 12.04.4 вышла

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


"Ubuntu"
Отправлено Аноним , 06-Фев-14 23:33 
Там иксы до 0.15 случаем не обновили?

"Ubuntu"
Отправлено Led , 07-Фев-14 04:55 
> Там иксы до 0.15 случаем не обновили?

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


"Ubuntu"
Отправлено тоже Аноним , 07-Фев-14 10:03 
А, вы - тот единственный из обладателей Радеонов, кто еще не знает принципа "не обновляй Убунту сразу после анонса"?
Я, признаться, глянул на список обновленного и не нашел, зачем мне вообще обновляться.

"Ubuntu"
Отправлено anonymous , 07-Фев-14 22:48 
> А, вы - тот единственный из обладателей Радеонов, кто еще не знает
> принципа "не обновляй Убунту сразу после анонса"?
> Я, признаться, глянул на список обновленного и не нашел, зачем мне вообще
> обновляться.

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


"Выпуск отладчика GDB 7.7"
Отправлено ананим , 06-Фев-14 22:40 
>Для C++ реализована поддержка оператора 'typeid'

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


"Выпуск отладчика GDB 7.7"
Отправлено Perain , 07-Фев-14 00:48 
Valve развивает LLDB,

GDB R.I.P


"Выпуск отладчика GDB 7.7"
Отправлено Led , 07-Фев-14 04:56 
> GDB R.I.P

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


"Выпуск отладчика GDB 7.7"
Отправлено kurokaze , 08-Фев-14 01:45 
Конечно рип, кто ж спорит, только думаю твой раньше настанет, такими темпами, ггг

"Выпуск отладчика GDB 7.7"
Отправлено Карбофос , 09-Фев-14 13:00 
у фанатиков, как правило, наблюдается
brain R.I.P.

"Выпуск отладчика GDB 7.7"
Отправлено Аноним , 10-Фев-14 17:47 
Ждйм lldb. gdb всегда можно было пользоваться только от безысходности.

"Выпуск отладчика GDB 7.7"
Отправлено arisu , 11-Фев-14 02:22 
> Ждйм lldb.

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