The OpenNET Project / Index page

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



"Выпуск отладчика GDB 8.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск отладчика GDB 8.0"  +/
Сообщение от opennews (ok) on 05-Июн-17, 11:56 
Доступен (http://lists.gnu.org/archive/html/info-gnu/2017-06/msg00002....) релиз отладчика GDB 8.0 (http://www.gnu.org/software/gdb/), поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc и т.д.) и программных платформах (GNU/Linux, *BSD, Unix, Windows, macOS).

Значительная смена номера версии связана с прекращением опциональной поддержки сборки GDB и GDBserver с использованием Си-компилятора (режим "--disable-build-with-cxx"). Для сборки GDB 8.0 теперь обязательно нужен компилятор С++, совместимый со стантартом C++11, т.е. требуется GCC 4.8  или более новый выпуск. Кроме того,  для сборки теперь требуется GNU Make 3.81 или более новый выпуск, поддержка сборки при помощи BSD make и других сторонних реализаций утилиты make прекращена. Напомним, что GCC 4.8 был выпущен в 2013 году, а GNU Make 3.81 в 2006 году.


Ключевые улучшения (https://sourceware.org/git/?p=binutils-gdb.git;a=blob_plain;...):


-  При отладке приложений на языке С++11 теперь поддерживаются ссылки rvalue (https://ru.wikipedia.org/wiki/C%2B%2B11#.D0.A1.D1....);

-  Возможность доступа к регистру  PKU на платформе GNU/Linux. PKU-регистр  применяется для хранения ключей защиты памяти пользовательских процессов (Memory Protection Keys for Userspace), технологии, которая появится в будущих моделях процессоров Intel;

-  В Python API реализованы новые функции для доступа, запуска и остановки записи активности через btrace. В gdb.Type добавлена поддержка ссылок Rvalue;

-  Добавлена поддержка записи и повторного выполнения  кода, содержащего инструкции (Intel 64) rdrand и rdseed;

-  В командном интерпретаторе сняты ограничения на число аргументов (ранее пользовательские команды могли включать не более 10 аргументов). В команде "eval"  обеспечено раскрытие аргументов, определённых пользователем, что значительно упрощает обработку переменного числа аргуменов:


    define mycommand
        set $i = 0
        while $i


-  Добавлена поддержка формата отладочных файлов DWARF 5, за исключением индексов .debug_names;

-  В программный интерфейс управления GDB/MI (https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI.html) добавлены новые команды "-file-list-shared-libraries" и "-target-flash-erase" для вывода списка разделяемых библиотек и очистки flash-памяти;
-  В gdb добавлена команда "flash-erase" для очистки всех регионов памяти на Flash;

-  Добавлена поддержка запуска на платформе FreeBSD/mips (mips*-*-freebsd). Добавлена поддержка целевых платформ FreeBSD/mips (mips*-*-freebsd) и Synopsys ARC (arc*-*-elf32). Для sparc32 и sparc64 добавлены секции с описанием регистров;

-  Для платформы Windows добавлена поддержка символов перенаправления в командной строке ('>', '>>', '2>&1'), обеспечен доступ к именам потоков;


-  Добавлены новые настройки "set disassembler-options" и "show disassembler-options" для установки и отображения специфичных для целевых платформ параметров дизассемблера;

-  Прекращена поддержка Java-программ, собранных при помощи  gcj;
-  Прекращена поддержка платформ  FreeBSD/alpha (alpha*-*-freebsd*) и GNU/kFreeBSD/alpha (alpha*-*-kfreebsd*-gnu).

URL: http://lists.gnu.org/archive/html/info-gnu/2017-06/msg00002....
Новость: http://www.opennet.me/opennews/art.shtml?num=46654

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Выпуск отладчика GDB 8.0"  –24 +/
Сообщение от Шарп (ok) on 05-Июн-17, 11:56 
Когда в нём добавят возможность ставить бряки в виде красных точек на полях? А то выглядит как какое-то старьё из 70-х.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск отладчика GDB 8.0"  +14 +/
Сообщение от zamazan4ik on 05-Июн-17, 12:04 
И как соотносятся консольные дебаггеры и красные точки на полях?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Выпуск отладчика GDB 8.0"  +9 +/
Сообщение от llolik (ok) on 05-Июн-17, 12:20 
Или это шутка, или слабо представляете, что такое gdb.
И да, так сложно сделать b <строка>|<имя функции>?
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

12. "Выпуск отладчика GDB 8.0"  +7 +/
Сообщение от Аноним (??) on 05-Июн-17, 14:32 
Приклей к монитору бумашку и рисуй фломастером.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

18. "Выпуск отладчика GDB 8.0"  +2 +/
Сообщение от freehck email(ok) on 05-Июн-17, 17:16 
> Когда в нём добавят возможность ставить бряки в виде красных точек на полях?

GDB - это консольный инструмент, спроектированный так, чтобы встраивать его в IDE было удобно.
Так что если хотите бряки в виде красных точек, используйте например соответствующий режим emacs.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

25. "Выпуск отладчика GDB 8.0"  +4 +/
Сообщение от Аноним (??) on 06-Июн-17, 00:49 
Еще надо qr-код, httpd-сервер и поддержку аккаунта в фейсбуке. А вдруг вы в gdb сидите, а тут внезапно вам захотелось сделать селфи в туалете. И тут все прямо под рукой, даже systemd использовать не надо. Крастота.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Выпуск отладчика GDB 8.0"  +/
Сообщение от adolfus (ok) on 05-Июн-17, 12:18 
Еще бы морду к нему отдельную вне связи с IDE...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

5. "Выпуск отладчика GDB 8.0"  +/
Сообщение от llolik (ok) on 05-Июн-17, 12:22 
> Еще бы морду к нему отдельную вне связи с IDE...

Ну мне cgdb нравится. Вполне такое минималистичное TUI.
ddd пробовал, но как-то он уж больно падуч.

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

6. "Выпуск отладчика GDB 8.0"  +/
Сообщение от Ordu email(ok) on 05-Июн-17, 13:28 
Как ты себе это представляешь? Или что по твоему "морда к gdb"?
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

7. "Выпуск отладчика GDB 8.0"  +/
Сообщение от Аноним (??) on 05-Июн-17, 13:33 
Да хоть интерфейс на curses. Что угодно, что увеличит отношение (полезность / длительность чтения доки).
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

8. "Выпуск отладчика GDB 8.0"  +1 +/
Сообщение от Ordu email(ok) on 05-Июн-17, 13:44 
> Да хоть интерфейс на curses. Что угодно, что увеличит отношение (полезность /
> длительность чтения доки).

Это не ответ. В том смысле, что это ответ в стиле "сделайте так, чтобы было хорошо". Но вопрос был в том, что значит "хорошо".

Чем этот интерфейс на curses будет отличаться от IDE? Почему он при этом будет проще чем запоминание команд: start, n, s, b, cont, list?

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "Выпуск отладчика GDB 8.0"  +1 +/
Сообщение от Аноним (??) on 05-Июн-17, 13:55 
> Это не ответ. В том смысле, что это ответ в стиле "сделайте так, чтобы было хорошо". Но вопрос был в том, что значит "хорошо".

Полностью с вами согласен, в этом и сложность. Работа по созданию такого интерфейса и заключается в ответе на вопрос "что такое хорошо и как этого добиться". Но очевидно же, что можно сделать лучше чем сейчас.

> Чем этот интерфейс на curses будет отличаться от IDE?

Тем, что там нельзя редактировать код. Это не среда разработки, это среда отладки.

> Почему он при этом будет проще чем запоминание команд: start, n, s, b, cont, list?

Потому, что вместо того, чтобы вбивать команды в строку, можно будет выбрать доступное действие из списка действий. Это сделает очевидным ответ на вопрос: что же можно сделать в этом контексте.

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

26. "Выпуск отладчика GDB 8.0"  –2 +/
Сообщение от Ilya Indigo (ok) on 06-Июн-17, 17:13 
> Тем, что там нельзя редактировать код. Это не среда разработки, это среда отладки.

А каким образом Вы собрались отлаживать код без его редактирования?
Или Вы путаете отладку с анализом?

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

27. "Выпуск отладчика GDB 8.0"  –1 +/
Сообщение от Аноним (??) on 06-Июн-17, 20:20 
То есть команды типа jump, вызов функций и модификацию переменных из отладчика отменили?
Ответить | Правка | ^ к родителю #26 | Наверх | Cообщить модератору

28. "Выпуск отладчика GDB 8.0"  –3 +/
Сообщение от Ilya Indigo (ok) on 06-Июн-17, 21:41 
> То есть команды типа jump, вызов функций и модификацию переменных из отладчика
> отменили?

Вы так и не ответили на мой вопрос, и задали мне в ответ абсурдный вопрос, не относящийся к сути, в попытке увести обсуждение в иное русло.
В общем слив засчитан.

Ответить | Правка | ^ к родителю #27 | Наверх | Cообщить модератору

11. "Выпуск отладчика GDB 8.0"  +/
Сообщение от щи on 05-Июн-17, 14:28 
Присоединяясь к предыдущему оратору о сложности, понятное дело, что без нормального ТЗ результат известен. Как отправную точку можно взять существующие дебаггеры типа Olly. Даже если не брать, какой-то шаг к "хорошо" надо выполнить в эту сторону, само ничего не сделается.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

16. "Выпуск отладчика GDB 8.0"  +1 +/
Сообщение от Ordu email(ok) on 05-Июн-17, 16:07 
Я понял.

Но этого не будет. Никому это не надо. Точнее кому-то надо, но те кому надо не готовы ни платить денег за это, ни писать такое. Чтобы написать такую обвязку вокруг gdb/lldb, надо сначала потратить несколько часов и научиться пользоваться gdb или lldb. А когда научишься -- обвязки становятся не нужными.

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

17. "Выпуск отладчика GDB 8.0"  +2 +/
Сообщение от Аноним (??) on 05-Июн-17, 17:02 
gdb --tui
не? Маны-не-читай-ной-в-комментах?
Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

21. "Выпуск отладчика GDB 8.0"  +/
Сообщение от Andrey Mitrofanov on 05-Июн-17, 19:29 
> Да хоть интерфейс на curses. Что угодно, что увеличит отношение (полезность /
> длительность чтения доки).

. > / длительность чтения

Срочно воспользуйтесь отладчиком для поиска случая деления на 0 в.

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

10. "Выпуск отладчика GDB 8.0"  +/
Сообщение от anonymous (??) on 05-Июн-17, 14:28 
emacs
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

19. "Выпуск отладчика GDB 8.0"  –4 +/
Сообщение от nc (ok) on 05-Июн-17, 18:44 
В Visual Studio сделано почти хорошо.
Почти - потому что и там есть недостатки. Например, нет возможности выставить точку останова по изменению памяти из контекстного меню в редакторе кода или в watch/locals или как там они называются (окна где просматриваются значения переменных).
Единственная рабочая IDE под Linux - это Qt Creator, и интерфейс к отладчику там ужасен.
Понятно что консоль сейчас это что-то вроде универсальной среды для взаимодействия между приложениями. Но пользоваться консольными отладчиками напрямую это все равно что сидеть в современное интернете через телнет вручную вбивая http запросы и в уме разбирая выдаваемый html.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

20. "Выпуск отладчика GDB 8.0"  +3 +/
Сообщение от Ordu email(ok) on 05-Июн-17, 19:18 
> В Visual Studio сделано почти хорошо.
> Qt Creator

Вы какие-то умные слова произносите... Я знаю первое: когда-то в давние-давние времена я видел Visual Studio 6.0. Но это было так давно, что я уже забыл, как он выглядел тогда.

> Но пользоваться консольными отладчиками напрямую это все равно что сидеть
> в современное интернете через телнет вручную вбивая http запросы и в
> уме разбирая выдаваемый html.

Если эта мысль причиняет вам страдания, то я могу вам лишь посочувствовать. Попробуйте отвлечься от неё и заняться каким-нибудь делом.

И я отмечу, сравнение некорректно: попробуйте реально сидеть в вебе через telnet, и вы поймёте разницу. Даже если вам удастся найти http-сайт, а не https, вы всё равно поймёте. Я пробовал и то, и это. Я ещё и почту через pop3 получал, а отправлял через smtp telnet'ом -- был период когда я интересовался протоколами и читал всякие rfc. И, скажу я вам, не стоит сравнивать командную строчку заточенную на то, чтобы с ней работал пользователь, со всеми этими протоколами, которые в принципе ориентированы на общение двух программ.

Ответить | Правка | ^ к родителю #19 | Наверх | Cообщить модератору

23. "Выпуск отладчика GDB 8.0"  –1 +/
Сообщение от nc (ok) on 05-Июн-17, 20:11 
Современные консольные программы имеют десятки разных опций и параметров. Да и самих программ сотни или тысячи. Да, командная строка все еще заточена чтобы с ней в простых (и средних - для профессионалов) случаях работал пользователь, но в наиболее сложных случаях это или скрипт, написанный один раз и тщательно проверенный и отлаженный, или все-же GUI обертка. В этом смысле командная строка заточена также как универсальное средство межпрограммного взаимодействия с сохранением "человекочитаемости", и в общем это весьма неплохо...
Ответить | Правка | ^ к родителю #20 | Наверх | Cообщить модератору

24. "Выпуск отладчика GDB 8.0"  +1 +/
Сообщение от Ordu email(ok) on 05-Июн-17, 21:43 
> Современные консольные программы имеют десятки разных опций и параметров. Да и самих
> программ сотни или тысячи.

Не надо путать командную строчку bash и командную строчку gdb. Это две разные командные строчки созданные для разных задач. Info gdb, то есть мануал к нему, можно прочитать за два часа. Если скипать ненужные секции, то ещё быстрее. Если положить рядом с собой бумажку и выписывать на неё команды, которые кажутся полезными, то затем потребуется ещё два часа отладочной сессии для того, чтобы освоить gdb как инструмент и пользоваться им в дальнейшем без подсказок.

gdb и отладка -- это вам не R какой-нибудь и обработка данных. Вот командную строчку R и обработку данных в нём осваивать придётся пару рабочих дней. При условии что учебник матстатистики уже прочитан. gdb в этом смысле просто няшка, проблема для детского сада.

> Да, командная строка все еще заточена чтобы
> с ней в простых (и средних - для профессионалов) случаях работал
> пользователь, но в наиболее сложных случаях это или скрипт, написанный один
> раз и тщательно проверенный и отлаженный, или все-же GUI обертка. В
> этом смысле командная строка заточена также как универсальное средство межпрограммного
> взаимодействия с сохранением "человекочитаемости", и в общем это весьма неплохо...

Командная строка gdb создана для взаимодействия с пользователем, а не с программой. Для взаимодействия с другими программами у него есть другие интерпретаторы, об этом можно почитать в info gdb, напротив опции --interpreter. И тому есть причины, на самом деле: дефолтный интерпретатор совершенно не подходит для того, чтобы разбирать вывод gdb программно.

Ответить | Правка | ^ к родителю #23 | Наверх | Cообщить модератору

13. "Выпуск отладчика GDB 8.0"  +1 +/
Сообщение от Аноним (??) on 05-Июн-17, 14:35 
> Еще бы морду к нему отдельную вне связи с IDE...

ddd же

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

15. "Выпуск отладчика GDB 8.0"  +/
Сообщение от Аноним (??) on 05-Июн-17, 14:52 
kdbg
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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