LINUX.ORG.RU

Состоялся релиз GDB 7.0

 , ,


0

0

Свежий релиз GDB, свободного и открытого отладчика GNU, доступен для загрузки через анонимный FTP. GDB является отладчиком уровня кода для языков Ада, C, C++, Objective-C, Паскаль, и многих других. Среди основных возможностей следует отметить:

  • Поддержку скриптинга на Питоне
  • «Обратную отладку» с возможностью записи и повтора
  • Безостановочную отладку
  • Мульти-архитектурную отладку
  • Мульти-процессную отладку

В новой версии добавлены:

  • Интерфейс для компиляции «на лету»
  • Точки останова теперь можно задавать условиями
  • Поддержка Multi-byte и wide наборов символов
  • Новые модификаторы для команды «disassemble»
  • Автоматический возврат из библиотек, расположенных на удалённых ресурсах
  • Поддержка отладки подставляемых (inline) функций
  • Новый формат пакетов протокола удалённой отладки
  • Возможность считывать сжатые отладочные секции
  • Для Tru64 теперь доступна возможность переключения потоков
  • Она же теперь доступна и для Ada
  • Новые возможности в gdbserver
  • Новая команда для остановки при завершении выполнения системного вызова

Получить новую версию можно здесь.

>>> Подробности

★★★★★

Проверено: hibou ()

> овый формат пакетов протокола удалённой отладки
Это означает, что теперь разные IDE, работающие с gdb, перестанут уметь отладку?

GArik ★★★
()
Ответ на: комментарий от GArik

>Это означает, что теперь разные IDE, работающие с gdb, перестанут уметь отладку?

нет.

mono ★★★★★
()

Очень хороший отладчик, работает везде, на всем и для всего. Только вот жаль что большинство сред не могут воспользоваться его возможностями на все 100%, в некоторых элементарно нельзя даже тип watch-а изменить и прочие вкусняшки...

I-Love-Microsoft ★★★★★
()

Как там с libgdb кто-нибудь знает? Починили? Программы, работавшие с 6.0-6.2 заработают?

question4 ★★★★★
()

Кто-нить пробовал плюсы отлаживать, когда куча символов, шаблонов etc? Оно все так же тормозит и падает, или же теперь всё быстро и хорошо?

ikm ★★
()

Он все так же не дружит с фрипаскалевскими динамическими массивами и вложенными функциями?

Magister2k7
()
Ответ на: комментарий от ikm

Я дико извиняюсь, но в каком год оно на плюсах тормозило и падало, когда куча символов, шаблонов etc? Особенно падало.

cthulhu ★☆
()

Эта замечательная новость — для раздела "GNU's Not Unix".

sinister666 ★★
()
Ответ на: комментарий от jcd

Какая тут критика, одно сплошная радость.

На 6-ке мои виндовые сокамерники глумливо хихикали, когда я пытался глядеть на wchar_t[] (да, в ~/.gdb/ у меня есть макрофункция для печати в gdb wchar_t-строк, как ASCII, но честную конвертацию, с поддержкой кодировок, через макро делать мне явно напряжно).

Ну и остальные изменения тоже радуют. Особенно, если они будут работать на arm32 :)

AlexM ★★★★★
()
Ответ на: комментарий от I-Love-Microsoft

> Очень хороший отладчик, работает везде, на всем и для всего.

Ну, наши андроидные портировщики в этом месте ухмыляются.

> Только вот жаль что большинство сред не могут воспользоваться его возможностями на все 100%

На 100% невозможно по определению. Но там, где есть честный GDB'шный промпт, в принципе, уже можно жить. Кстати, для эклипса написали вполне удобоваримый набор модулей, "всё почти как настоящее".

AlexM ★★★★★
()
Ответ на: комментарий от anotheranonymous

А кому щаз лех-ко?

P.S. Анонимусу за набор спасибо.

AlexM ★★★★★
()
Ответ на: комментарий от ikm

> Кто-нить пробовал плюсы отлаживать, когда куча символов, шаблонов etc?

На сложных шаблонах рвёт крышу даже у майкрософтового отладчика. Но сложные шаблоны не нужны ;) Александреску и его последователей - в сад.

P.S. На самом деле, наши отказались от большинства хитроумных шаблонов, т.к. MSVC генерил (а, может, и до сих пор генерит) из-за этого *огромные* бинари, что на pocket-size дивайсах неприемлемо. Ну а с андроидным и симбиановом C++'ом вообще всё не здорово было до последнего времени:)

AlexM ★★★★★
()
Ответ на: комментарий от AlexM

>Ну, наши андроидные портировщики в этом месте ухмыляются.

кстати вам вопрос - хоть какой-нибудь дебаггер умеет отлаживать JNI-С++ андроидовский?

thevery ★★★★
()

> Мульти-процессную отладку

Поделитесь pls кто знает, как аттачиться к нескольким экземплярам одного приложения. В доке нашел только как отслеживать форки, но это не то.

YesSSS ★★★
()

Хм. Скрипты на питоне звучат заманчиво.

Farcaller ★★
()
Ответ на: комментарий от I-Love-Microsoft

> Очень хороший отладчик, работает везде, на всем и для всего.

А Java он стал поддерживать?

kda ★★★★★
()

Патч с поддержкой D уже больше года лежит. Одно время даже был в основном дереве портежей. А разрабы gdb так его и не осилили.

naryl ★★★★★
()

>релиз GDB 7.0

Блин, а и правда новый))) а я и не заметил когда два дня назад под arm-elf собирал. Собралось.. работает...

programmist
()
Ответ на: комментарий от anotheranonymous

> Это костыль на костыле, не нужно.

Это нормальное прямое решение.

> Ни одна IDE не подхватит это.

Это, как бе, проблемы ide, что они до сих пор не умеют толком настраиваться.

kemm
()

хорошая работа для отладки приложений на плюсах.

Genuine ★★★
()
Ответ на: комментарий от kemm

>Это нормальное прямое решение.
Только для слепца.

>Это, как бе, проблемы ide, что они до сих пор не умеют толком настраиваться.

Посмотрел бы та на отладчик VS.

anotheranonymous
()
Ответ на: комментарий от tensai_cirno

> /r/ гайд по отладке с помощью gdb для зеленых новичков.

Я когда-то то же самое спросил у одного разработчика.
Держи вырезку из одной моей переписки. Может пригодиться для начала.

============================================================

Here's the recipe to locate segmentation faults with gdb, as I sent it to a paco user that had troubles a few weeks ago:
(I guess you already know about all this stuff though)

1) Run "gdb". You will see a gdb prompt like this:
(gdb)

2) Load the executable:
(gdb) file /usr/bin/samba-server

3) Set the arguments that you want the executable to be run with:
(gdb) set args --foo --bar=BAR

4) Run the program inside gdb:
(gdb) run

5) It should end with the segfault. Then type this to aid locating the cause of the segfault:
(gdb) backtrace

That's *all* what I can do with gdb. That's a bit shameful, because gdb has a lot of interesting features that a good programmer should be awared of...

Spinal
()

вещь в себе
для пальцатых хакеров
на лоре по пальцам можно пересчитать тех , кто им пользуется

kto_tama ★★★★★
()
Ответ на: комментарий от naryl

> Патч с поддержкой D уже больше года лежит

А языку Ди не нужны такие анахронизмы, как гдб - он уже достаточно высокоуровневый, чтобы не красноглазить^W лазить по коду в поисках утечек или переполнений.

matumba ★★★★★
()

> Интерфейс для компиляции "на лету"

можно будет отойти на шаг назад и пройти по коду с только что внесёнными изменениями? наконец-то?

hawai
()
Ответ на: комментарий от kto_tama

> вещь в себе
> для пальцатых хакеров

> на лоре по пальцам можно пересчитать тех , кто им пользуется


Ммм, альтернативы?

Bohtvaroh ★★★★
()

Закапывайте.

Поделие, нужное только быдло-monkey-кодерам на императивных недоязыках. Даже так: для uber-monkey-кодеров, осиливших чуть больше, чем отладочный printf.

Несмотря на то, что таковых тут полон тред, - они не нужны.

anonymous
()
Ответ на: комментарий от Bohtvaroh

> Ммм, альтернативы?

Альтернативы - писать на нормальных языках.

И ещё - думать перед написанием программы, а не после, ага. Сильно помогает. Попробуй хоть один раз - и поразишься тому, насколько сильно.

anonymous
()
Ответ на: комментарий от anonymous

> И ещё - думать перед написанием программы, а не после, ага. Сильно помогает. Попробуй хоть один раз - и поразишься тому, насколько сильно.

Толсто. :D

Bohtvaroh ★★★★
()
Ответ на: комментарий от anonymous

> Поделие, нужное только быдло-monkey-кодерам на императивных недоязыках. Даже так: для uber-monkey-кодеров, осиливших чуть больше, чем отладочный printf.

OMFG. Бох на моём LORе. Только он знает что и кому нужно делать. И ещё знает слово "императивный". да.

hawai
()

>> И ещё - думать перед написанием программы, а не после, ага. Сильно помогает. Попробуй хоть один раз - и поразишься тому, насколько сильно.

кстати , да
оффтопичный отладчик в ВС кстати сильно приучает к обратному : сначала ляпнешь , а потом , смотришь , что из этого выйдет
на юниксе другая картина : голова сначала начинает пухнуть от расчета возможных последствий нового кода
но потом как-то привыкаешь , хотя боль и остается конечно , но в меньших количествах
а при переходе с офтопика на юникс нужно конечно многим пожертвовать

kto_tama ★★★★★
()
Ответ на: комментарий от kto_tama

> а при переходе с офтопика на юникс нужно конечно многим пожертвовать

глупо этому радоваться и заносить в список достоинств

hawai
()
Ответ на: комментарий от Spinal

> (gdb) file /usr/bin/samba-server

Хех. Я как-то по старинке, просто запускаю gdb prog core, сразу набираю bt и готов. Вообще, для меня использование gdb как раз для анализа корок полезно. Отладку если там и делаю какую, то ручками n, s, frame 1, print str... -- отладку если делаю, то прямо на сервере, откуда там ide? А прежде чем на сервер программу поставить, кусочно _тестирую_, что куски работают как надо, на воркстейшене, и отладка не нужна.

Casus ★★★★★
()
Ответ на: комментарий от anonymous

> Альтернативы - писать на нормальных языках.

Огласите весь список, ага :)

> И ещё - думать перед написанием программы, а не после, ага.

Думать помогает, да. Но учитывая, что наши тут сидят, UPX под андроид запинывают (в смысле, он есть, но не работает на требуемых версиях newlib), предложение "подумать перед" звучит как издевательство.

AlexM ★★★★★
()
Ответ на: комментарий от AlexM

> Огласите весь список, ага :)

Охотно. LISP, Scheme, OCaml, Haskell, Erlang. Ни одному из них не требуется костылей в виде специальных дебаггеров, в силу своей парадигмы. Но вот беда - monkey-кодерам даже не приходит в голову, что есть языки, отличные от жабки или крестов. А если и доведётся взглянуть на лисповый листинг, обезьянка сразу заверещит: "ой, сколько скобочек!!!111" - и вернётся к своей уютненькой императивщине.

Вообще, если у индивидуума возникает необходимость в дебаггинге, профайлинге, рефакторинге и прочих баззвордингах (да ещё и с помощью костылей типа GDB), то ошибки впору искать у индивидуума в ДНК, а самому индивидууму - искать новую работу. Например, сапожником.

anonymous
()
Ответ на: комментарий от AlexM

> UPX под андроид запинывают

Так и запишем: GDB нужен только монкей-кодерам под быдлодевайсы. Офигенная показательность, ага. Речь вообще-то шла о Программистах, не путайте.

anonymous
()

Что бы там не говорили, новый релиз очень крут.
Релиз пока не пробовал, юзал из гита.
Скриптинг на питоне -- этого очень не хватало и это очень удобно. Лучше один раз попробовать. http://tromey.com/blog/?cat=17 -- сборник рецептов от разработчика + есть неплохая основная документация с API, генерируемая при сборке.

Питоновый скриптинг входит в project Archer (не знаю, насколько их код был смёрджен с релизным), созданный для улучшения работы gdb с с++ -- http://sourceware.org/gdb/wiki/ProjectArcher . Там же находится роадмэп и описание фич. И скринкаст :3

C: today latvians

anonymous
()
Ответ на: комментарий от cthulhu

> в каком год оно на плюсах тормозило и падало

В 2003, как минимум. С тех пор не пробовал, т.к. не использую gdb ни для чего, кроме bt для кордампов.

ikm ★★
()
Ответ на: комментарий от anonymous

> Что характерно, илита предпочитает сохранять анонимность.

"Илита" в каком классе учится, сколько по русскому?

unisky ★★
()
Ответ на: комментарий от anonymous

LISP, Scheme

Как будто схема это не лисп.

и вернётся к своей уютненькой императивщине.

Лисп не подразумевает обязательного применения функциональной парадигмы. Functional programming means writing programs which work by returning values instead of by performing side-effects. Side-effects include destructive changes to objects (e.g. by rplaca) and assignments to variables (e.g. by setq). If side-effects are few and localized, programs become easier to read, test, and debug. Lisp programs have not always been written in this style, but over time Lisp and functional programming have gradually become inseparable.

anonymous
()

Безостановочная откладка - "отлаживайте, негры, солнце ещё высоко".

anonymous
()

Безостановочная откладка - "отлаживайте, негры, солнце ещё высоко".

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.