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

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

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

Подробнее: https://www.opennet.me/opennews/art.shtml?num=55810


Содержание

Сообщения в этом обсуждении
"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 09:17 
Есть что-нибудь лучше ддд для линукса? Помимо иды по объективным причинам.

"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 09:26 
Гидра

"Выпуск отладчика GDB 11"
Отправлено Анонимян , 22-Сен-21 19:17 
С каких пор гидра это отладчик? Или вы про костыли с прикручиванием стороннего софта? По теме - под линукс есть Ида фри

"Выпуск отладчика GDB 11"
Отправлено Ordu , 20-Сен-21 09:33 
Мне всегда командной строки gdb хватало. Ну или emacs'овый интерфейс к gdb, если по неизвестным сорцам шаришься и объединяешь отладку с исследованием кода. emacs, конечно, на любителя, но можно предположить что любое IDE зайдёт ок, если оно позволяет с gdb общаться напрямую, в смысле не ограничивает его возможностей тем, для чего разработчикам IDE было не лень делать гуй.

И отсюда возникает вопрос: зачем лучше? Чего тебе не хватает в ddd? Если ты сформулируешь свои запросы конкретнее, то шансов получить конструктивный ответ будет больше.


"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 10:15 
В ddd нехватает нормального юзабельного интерфейса, для того же radare2 есть хотя бы cutter. В моём понимании нормальный интерфейс это что-то уровня ollydbg с плагинами, желательно на кутях. И чтобы хоткеи там, вот всё это.

"Выпуск отладчика GDB 11"
Отправлено Ordu , 20-Сен-21 10:44 
> В ddd нехватает нормального юзабельного интерфейса, для того же radare2 есть хотя
> бы cutter.

Радар с катером, ведь для реверса скорее, или для отладки на уровне машинных команд без отладочной информации. gdb для этого вообще не канает. Он исходно разрабатывался для отладки на уровне исходных текстов, и хоть он и умеет дизассемблировать, но делает это наитупейшим образом. Чисто теоретически поверх можно напилить скриптов, чтобы как-то справляться, но практически проще взять радар/катер. Может быть даже запилить ещё один аналог им с нуля будет проще, чем всё это скриптописательство поверх gdb. И поэтому не стоит ждать от графической морды к gdb, что она вдруг сделает отладку без сорцов любовной и прельстивой.

Или ты не об этом? Мне все эти идеи, типа "надо делать как в radare/cutter/ollydbg" мало о чём говорят. Я хрен его сколько времени пользовался исключительно gdb, а когда сталкивался с другими, не столько смотрел, что тут хорошего, сколько матерился по-поводу того, что сделано не так как в gdb, типа "блин, как тут сделать finish?", "эта кнопка на тулбаре -- аналог continue? или next? или step?" или "вах, бряк прокнул, но не должен был, как посмотреть бектрейс и подняться до самого интересного стекового фрейма?", или "как поставить бряк на память?".


"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 11:04 
В том и дело, что чаще всего сегфолтятся бинарные продукты и пойди разберись, в каком месте и из-за чего. Бывает, что символы есть, и символы обычно есть для системных либ. Нужен хотя бы какой-то минимум без лишних проблем. Опять же, были какие-то сложности отладки мультипоточной приложухи в gdb, довольно неудобненько. Интуитивно понятный интерфейс типа иды тоже неплохо бы заиметь (а в ней есть отладчик).

"Выпуск отладчика GDB 11"
Отправлено andy , 20-Сен-21 10:49 
layout asm не хватает? В таком случае, есть питонообертки:
https://github.com/longld/peda
https://gef.readthedocs.io/en/master/

Или, довольно скверная, имитация Soft-ICE:
https://github.com/mammon/gdbinit


"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 11:46 
Есть: QT Creator Debugger. https://doc.qt.io/qtcreator/creator-debugging.html

"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 15:22 
https://github.com/nakst/gf

"Выпуск отладчика GDB 11"
Отправлено lockywolf , 20-Сен-21 17:15 
DDD умер, он не использует MI. Я использую емакс-интерфейс, но говорят, что в clion очень годный интерфейс к gdb и lldb.

"Выпуск отладчика GDB 11"
Отправлено Урри , 20-Сен-21 19:17 
vscode с c++ плагином.

"Выпуск отладчика GDB 11"
Отправлено joda , 20-Сен-21 10:40 
Можно ли использовать GDB для отладки самописного ядра в виртуалке? С какими виртуалками он вообще интегрируется?

"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 12:46 
для отладки самописного ядра отлично подходит qemu, прямо в нём есть примитивный встроенный отладчик, а также какой-то механизм для запуска отладочного моста в gdb(см. ключи запуска -s -S)

"Выпуск отладчика GDB 11"
Отправлено Совершенно другой аноним , 20-Сен-21 13:17 
Тут выше предложили qemu, можно ещё добавить bochs - там и довольно неплохой встроенный отладчик был (с поддержкой распечатки таблиц gdt и idt и страничного отображения памяти), и поддержка gdb, если не путаю, тоже присутствовала.

"Выпуск отладчика GDB 11"
Отправлено joda , 20-Сен-21 14:42 
А как этим встроенным отладчиком пользоваться? Например как поставить брейкпоинт в самом начале кода загрузчика?

Аналогичный вопрос и к анонимусу выше, про встроенный отладчик в qemu.


"Выпуск отладчика GDB 11"
Отправлено Совершенно другой аноним , 20-Сен-21 15:13 
> А как этим встроенным отладчиком пользоваться? Например как поставить брейкпоинт в самом
> начале кода загрузчика?
> Аналогичный вопрос и к анонимусу выше, про встроенный отладчик в qemu.

там есть консоль, есть диалоговый режим аналогичный таковому в gdb, есть встроенная справка (команда help). Если правильно помню - команда lb 0x7c00 (можно и b 0x7c00). Правда не уверен, что в дистрибутивах он идёт собранный с отладчиком. Но собрать его, по крайней мере раньше, была не большая проблема, даже в windows вполне себе нормально собирался и работал.


"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 10:43 
Он все такой же кривой по сравнению с TD или что то улучшилось? Просто он используется в Lazarus и очень, если честно, бесит, что там голый АСМ приходится отлаживать нажатием специальных кнопочек вверху окна GDB вместо того, чтобы просто жать F7 и F8. В этом плане было очень круто, что TD полностью интегрирован со средой разработке, а не является отдельным кривым шматком, с которым очень трудно работать.

"Выпуск отладчика GDB 11"
Отправлено пох. , 20-Сен-21 12:06 
для поциентов с синдромом утенка - ничего не улучшилось и не улучшится никогда.

> В этом плане было очень круто, что TD полностью интегрирован со средой разработке

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

gdb полностью интегрирован со средой разработки, только эта среда называется - unix, а не турбопаскаль.

В частности кнопочки "F7" может т-по не быть среди доступных.


"Выпуск отладчика GDB 11"
Отправлено пох. , 20-Сен-21 12:28 
хотя нет, вру что не улучшилась - мыш! Мыш вот, приделали! С колесом!

(для пуссиэкзешников очень удобная шняга, наверное)


"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 15:22 
Грешно смеяться над больными людьми.

"Выпуск отладчика GDB 11"
Отправлено n00by , 20-Сен-21 15:26 
Ради интереса набрал в поисковике Lazarus + GDB, читаю:

"Если вы входите в «Nested», то IDE позволяет вам проверять переменные из обоих стековых фреймов."

https://wiki.lazarus.freepascal.org/GDB_Debugger_Tips/ru#.D0...

Похоже, дело не в GDB.


"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 15:37 
>В в интерфейс TUI (Text User Interface) добавлена поддержка действий мышью и возможности прокрутки содержимого колесом мыши.

Джвадцать лет ждал (серьёзно). Ну ещё бы сам TUI сделали на манер mcedit, например.


"Выпуск отладчика GDB 11"
Отправлено llolik , 20-Сен-21 15:43 
cgdb есть на манер vim-а. Есть правда несколько неприятных багов в master, но в целом, работает нормально.

"Выпуск отладчика GDB 11"
Отправлено Аноним , 20-Сен-21 19:59 
Конечно Watcom старались над своим отладчиком. Он получился очень гуд. Что то по типу TD, но под nix. Но такое наверное никто не повторит - это шедевр.
GDB конечно своеобразен, и им можно исследовать, но все хотят наглядности с окошечками. Здесь F7 а там стек поменялся и EIP увеличился. Да и некоторые переменные тоже приятно наблюдать, как в гидре, в ольке.
Могут конечно доделать, но не хотят, они так привыкши, и другие привыкнут.
>>>

ЗЫ. Почему все молчат про Клайва Синклера?
>>>


"Выпуск отладчика GDB 11"
Отправлено n00by , 21-Сен-21 08:20 
> ЗЫ. Почему все молчат про Клайва Синклера?

Потому что он скаммерсант, а не "изобретатель ZX Spectrum", как пишут на habr?

Аппаратную часть ZX Spectrum 16K/48K разработал Ричард Альтвассер (Richard Altwasser) из «Sinclair Research», корпус машины был создан промышленным дизайнером Риком Дикинсоном (Rick Dickinson). Программное обеспечение для нового компьютера разработал Стив Викерс (Steve Vickers) по контракту с компанией «Nine Tiles Ltd», в которой был создан «Sinclair BASIC».


"Выпуск отладчика GDB 11"
Отправлено Аноним , 22-Сен-21 15:13 
Илон Маск поди тоже не сам лично свои ракеты разрабатывает.

"Выпуск отладчика GDB 11"
Отправлено n00by , 22-Сен-21 15:38 
> Илон Маск ... тоже

Вы идёте по очень тонкому льду. О мёртвых либо хорошо, либо ничего, кроме правды.