The OpenNET Project / Index page

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

Выпуск отладчика GDB 7.9

21.02.2015 10:08

Представлен новый выпуск отладчика GDB 7.9, поддерживающего отладку на уровне исходных текстов для широкого спектра языков программирования (Ada, C, C++, Objective-C, Pascal, Go и т.д.) на различных аппаратных (i386, amd64, ARM, Power, Sparc и т.д.) и программных платформах (GNU/Linux, Unix, Windows, OS X).

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

  • Улучшены средства для создания вспомогательных скриптов на языке Python;
  • Поддержка компиляции и подстановки исходных текстов в объект отладки (inferior). На стороне GCC поддержка новой возможности появится в выпуске 5.0, что позволит компилировать исходный код в объектный код и выполнять подстановку и выполнение полученного объектного кода в текущем контексте отлаживаемого объекта. В настоящее время поддерживается только подстановка конструкций на языке Си. Т.е. прямо в отладчике можно добавить/поправить кусок кода на языке Си и работать с ним в контексте отлаживаемого процесса или приложения. Для компиляции в GDB добавлены новые команды "compile code" и "compile file", например, для добавления новой переменной и замены значения переменной "с" при срабатывании точки останова можно указать "compile code int z = 5; c = z;", после чего при возобновлении выполнении в программе будет использоваться созданная переменная и новое значение. Более глобальной задачей проекта является обеспечение возможности использования доступных в GCC парсеров языков программирования в GDB.
  • При возобновлении выполнения программы командой resume, GDB теперь всегда перенаправляет сигналы нити, которой данный сигнал адресован, даже если пользователь поменял нить во время остановки выполнения (ранее возникали ситуации, при которых сигналы перенаправлялись только к текущей на момент остановки нити);
  • С другой стороны, команда "signal" теперь всегда доставляет запрошенный сигнал к текущей нити. Если программа остановлена и пользователь переключился между нитями, GDB запросит подтверждение;
  • Для платформы x86 GNU Hurd добавлена поддержка аппаратных точек останова (watchpoint);
  • Поддержка платформы MIPS SDE (mips*-sde*-elf*);
  • Новые команды:
    • add-auto-load-scripts-directory directory
    • compile code [-r|-raw] [--] [source code]
    • compile file [-r|-raw] filename
    • demangle [-l language] [--] name
    • maint print user-registers
    • queue-signal signal-name-or-number
  • Новые опции:
    • set debug symbol-lookup
    • show debug symbol-lookup
  • В программный интерфейс управления GDB/MI в вывод команды "-list-thread-groups" добавлено новое поле с кодом возврата;
  • Прекращена поддержка устаревших платформ: Alpha (OSF/1 и Tru64), SGI Irix-5.x, SGI Irix-6.x VAX (4.2 - 4.3 Reno) BSD, VAX Ultrix;
  • Прекращена поддержка команды "dll-symbols" и связанных с ней псевдонимов "add-shared-symbol-files" и "assf". Вместо них слудует использовать команду "sharedlibrary" ("share").


  1. Главная ссылка к новости (https://sourceware.org/ml/gdb-...)
  2. OpenNews: Выпуск отладчика GDB 7.8
  3. OpenNews: Выпуск отладчика GDB 7.7
  4. OpenNews: Представлен LLDB - новый отладчик, развиваемый под эгидой проекта LLVM
  5. OpenNews: Ричард Столлман выступил против добавления поддержки отладчика LLDB в Emacs
  6. OpenNews: В обновлении GNU Binutils и GDB устранено нарушение лицензии GPL
Лицензия: CC-BY
Тип: Программы
Короткая ссылка: https://opennet.ru/41706-gdb
Ключевые слова: gdb, debug
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (12) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, A.Stahl (ok), 11:39, 21/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    >Поддержка компиляции и подстановки исходных текстов в объект отладки

    Э? Что это значит? Компиляции чего? А что, сейчас не подставляет?
    >Новые команды: compile code, compile file

    Оп-па... Т.е. предыдущий момент не такой уж и коряво переведённый...

    Что-то новость больше вопросов породила чем ответила. Пойду-ка я оригинал почитаю...

     
     
  • 2.2, Аноним (-), 11:57, 21/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Оригинал не меньше вопросов вызывает: "Compilation and injection of source code into the inferior"
     
  • 2.4, MidNight_er (?), 13:29, 21/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Очевидно речь идёт от Source Maps http://habrahabr.ru/post/178743/
     
     
  • 3.5, Аноним (-), 14:03, 21/02/2015 [^] [^^] [^^^] [ответить]  
  • +1 +/
    нет, там про другое.
     
     
  • 4.6, Yet_Another_Anonymous (?), 17:21, 21/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    про что тогда?
     
     
  • 5.7, Аноним (-), 01:35, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    REPL на уровне Си/С++
     
     
  • 6.9, kravich (ok), 06:00, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Но зачем?
     
     
  • 7.13, Ordu (ok), 12:35, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Ну там же ссылка в статье https://sourceware.org/gdb/wiki/GCCCompileAndExecute
    Там объяснено, зачем это надо, почему без этого плохо, и как это сделано. Зачем ты задаёшь вопросы здесь? Ждёшь когда тебе переведут на русский?
     
  • 2.15, Тот ещё аноним (?), 21:49, 22/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Свой код в контексте отладчика (аки тест патч)?
     

  • 1.8, Аноним (-), 01:44, 22/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    GDB - друг, много лет вместе.
     
  • 1.16, Аноним (-), 08:50, 23/02/2015 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    так и REPL в С не за горами)
     
     
  • 2.17, Аноним (-), 17:55, 23/02/2015 [^] [^^] [^^^] [ответить]  
  • +/
    Так это оно и есть.
     

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



    Спонсоры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

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