The OpenNET Project / Index page

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

05.06.2017 11:30  Выпуск отладчика GDB 8.0

Доступен релиз отладчика GDB 8.0, поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (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 году.

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

  • При отладке приложений на языке С++11 теперь поддерживаются ссылки rvalue;
  • Возможность доступа к регистру 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 < $argc
              eval "print $arg%d", $i
              set $i = $i + 1
            end
          end
    
  • Добавлена поддержка формата отладочных файлов DWARF 5, за исключением индексов .debug_names;
  • В программный интерфейс управления GDB/MI добавлены новые команды "-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).


  1. Главная ссылка к новости (http://lists.gnu.org/archive/h...)
  2. OpenNews: Выпуск отладчика GDB 7.12
  3. OpenNews: Выпуск платформы динамической трассировки приложений Frida и отладчика CryptoShark
  4. OpenNews: Ричард Столлман выступил против добавления поддержки отладчика LLDB в Emacs
  5. OpenNews: Компания Intel выпустила intel-gpu-tools 1.17, открытый набор утилит для отладки GPU
  6. OpenNews: Выпуск системы динамической отладки SystemTap 3.1
Лицензия: CC-BY
Тип: Программы
Ключевые слова: gdb, debug
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Шарп, 11:56, 05/06/2017 [ответить] [смотреть все]
  • –20 +/
    Когда в нём добавят возможность ставить бряки в виде красных точек на полях А т... весь текст скрыт [показать]
     
     
  • 2.2, zamazan4ik, 12:04, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +10 +/
    И как соотносятся консольные дебаггеры и красные точки на полях?
     
  • 2.4, llolik, 12:20, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +8 +/
    Или это шутка, или слабо представляете, что такое gdb.
    И да, так сложно сделать b <строка>|<имя функции>?
     
  • 2.12, Аноним, 14:32, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +5 +/
    Приклей к монитору бумашку и рисуй фломастером.
     
  • 2.18, freehck, 17:16, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    > Когда в нём добавят возможность ставить бряки в виде красных точек на полях?

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

     
  • 2.25, Аноним, 00:49, 06/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Еще надо qr-код, httpd-сервер и поддержку аккаунта в фейсбуке А вдруг вы в gdb ... весь текст скрыт [показать] [показать ветку]
     
  • 1.3, adolfus, 12:18, 05/06/2017 [ответить] [смотреть все]  
  • +/
    Еще бы морду к нему отдельную вне связи с IDE...
     
     
  • 2.5, llolik, 12:22, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    > Еще бы морду к нему отдельную вне связи с IDE...

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

     
  • 2.6, Ordu, 13:28, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    Как ты себе это представляешь? Или что по твоему "морда к gdb"?
     
     
  • 3.7, Аноним, 13:33, 05/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Да хоть интерфейс на curses Что угодно, что увеличит отношение полезность дл... весь текст скрыт [показать]
     
     
  • 4.8, Ordu, 13:44, 05/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    > Да хоть интерфейс на curses. Что угодно, что увеличит отношение (полезность /
    > длительность чтения доки).

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

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

     
     
  • 5.9, Аноним, 13:55, 05/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Полностью с вами согласен, в этом и сложность Работа по созданию такого интерфе... весь текст скрыт [показать]
     
     
  • 6.26, Ilya Indigo, 17:13, 06/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    > Тем, что там нельзя редактировать код. Это не среда разработки, это среда отладки.

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

     
     
  • 7.27, Аноним, 20:20, 06/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    То есть команды типа jump, вызов функций и модификацию переменных из отладчика о... весь текст скрыт [показать]
     
     
  • 8.28, Ilya Indigo, 21:41, 06/06/2017 [^] [ответить] [смотреть все]    [к модератору]  
  • +/
    > То есть команды типа jump, вызов функций и модификацию переменных из отладчика
    > отменили?

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

     
  • 5.11, щи, 14:28, 05/06/2017 [^] [ответить] [смотреть все]  
  • +/
    Присоединяясь к предыдущему оратору о сложности, понятное дело, что без нормального ТЗ результат известен. Как отправную точку можно взять существующие дебаггеры типа Olly. Даже если не брать, какой-то шаг к "хорошо" надо выполнить в эту сторону, само ничего не сделается.
     
     
  • 6.16, Ordu, 16:07, 05/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Я понял.

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

     
  • 4.17, Аноним, 17:02, 05/06/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    gdb --tui
    не? Маны-не-читай-ной-в-комментах?
     
  • 4.21, Andrey Mitrofanov, 19:29, 05/06/2017 [^] [ответить] [смотреть все]  
  • +/
    > Да хоть интерфейс на curses. Что угодно, что увеличит отношение (полезность /
    > длительность чтения доки).

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

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

     
  • 3.10, anonymous, 14:28, 05/06/2017 [^] [ответить] [смотреть все]  
  • +/
    emacs
     
  • 3.19, nc, 18:44, 05/06/2017 [^] [ответить] [смотреть все]  
  • –4 +/
    В Visual Studio сделано почти хорошо Почти - потому что и там есть недостатки ... весь текст скрыт [показать]
     
     
  • 4.20, Ordu, 19:18, 05/06/2017 [^] [ответить] [смотреть все]  
  • +2 +/
    Вы какие-то умные слова произносите Я знаю первое когда-то в давние-давние в... весь текст скрыт [показать]
     
     
  • 5.23, nc, 20:11, 05/06/2017 [^] [ответить] [смотреть все]  
  • –1 +/
    Современные консольные программы имеют десятки разных опций и параметров. Да и самих программ сотни или тысячи. Да, командная строка все еще заточена чтобы с ней в простых (и средних - для профессионалов) случаях работал пользователь, но в наиболее сложных случаях это или скрипт, написанный один раз и тщательно проверенный и отлаженный, или все-же GUI обертка. В этом смысле командная строка заточена также как универсальное средство межпрограммного взаимодействия с сохранением "человекочитаемости", и в общем это весьма неплохо...
     
     
  • 6.24, Ordu, 21:43, 05/06/2017 [^] [ответить] [смотреть все]  
  • +1 +/
    Не надо путать командную строчку bash и командную строчку gdb Это две разные ко... весь текст скрыт [показать]
     
  • 2.13, Аноним, 14:35, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    > Еще бы морду к нему отдельную вне связи с IDE...

    ddd же

     
  • 2.15, Аноним, 14:52, 05/06/2017 [^] [ответить] [смотреть все] [показать ветку]  
  • +/
    kdbg
     

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


      Закладки на сайте
      Проследить за страницей
    Created 1996-2017 by Maxim Chirkov  
    ДобавитьРекламаВебмастеруГИД  
    Hosting by Ihor TopList