The OpenNET Project / Index page

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

09.06.2010 21:31  Представлен LLDB - новый отладчик, развиваемый под эгидой проекта LLVM

Анонсировано появление нового отладчика LLDB, основанного на технологиях проекта LLVM. LLDB представляет собой инфраструктуру для организации отладки приложений и состоит из набора модулей и библиотек, использующих такие подсистемы LLVM как API для дизассемблирования, Clang AST (Abstract Syntax Tree), парсер выражений, генератор кода и JIT-компилятор. Исходные тексты проекта распространяются под BSD-подобной лицензией. В настоящий момент поддерживается отладка программ на языках C, Objective-C и C++ на платформе Mac OS X.

Так как LLDB еще находится на начальной стадии разработки, отладчик поддерживает только простейший набор сценариев отладки в режиме командной строки, но уже позволяет отлаживать многопоточные программы, дизассемблировать машинный код для архитектур i386, x86-64 и ARM, осуществлять трекинг разделяемых библиотек, использовать несколько видов точек останова (по заданному символу, по строке в исходных текстах, по С++ именам, по границам вхождения в модули) и автоматизировать работу при помощи скриптов.

По сравнению с GDB новый отладчик отличается значительно более высоким быстродействием при отладке программ большого размера. Также в будущем разработчики намерены обеспечить в LLDB более удобный интерфейс для отладки и улучшенную поддержку языка C++. В качестве мотивов, побудивших создать новый отладчик, называется желание воплотить в жизнь новую эффективную архитектуру, поддерживающую работу с современными многопоточными программами, поддерживающую плагины и учитывающую в работе информацию о коде "из рук" компилятора. Дополнительно учитывалась возможность интеграции средств отладки в сторонние аналитические инструменты, без жестких лицензионных ограничений (для сравнения, при интеграции кода GDB в другие проекты, код этих проектов должен распространяться только под лицензией GDB).

Цели проекта:

  • Возможность обработки "трудных случаев", таких как разбор выражений на языке C++, обработка перегрузки операторов, работа с шаблонами, отладка многопоточных программ и другие нетривиальные сценарии отладки.
  • Создание набора библиотек для интегрированных сред разработки, набора утилит для работы в командной строке и аналитических инструментов;
  • Высокая эффективность использования памяти при отладке;
  • Расширяемость, возможность подключения расширяющих функциональность плагинов и скриптов на языке Python для автоматизации выполнения рутинных операций;
  • Повторное использование существующих технологий компиляторов, там где это имеет смысл;
  • Первичная поддержка отладки многопоточных программ и языков C, Objective-C и C++;
  • Легкая адаптация для поддержки различных платформ;
  • Подготовка базы для дальнейших исследований и инноваций в области отладки программ.

Базовые возможности:

  • Реализация в виде плагинов:
    • Парсеры объектных файлов, в настоящий момент поддерживаются форматы Mach-O (32/64-bit) и ELF (32-bit);
    • Парсеры контейнеров объектов для выделения объектных файлов, объединенных в единый архив. Поддерживаются универсальные Mach-O-файлы и BSD-архивы;
    • Парсеры отладочной информации, поддерживаются таблицы символов DWARF и Mach-O;
    • Плагины для сбора отладочных символов из различных внешних источников;
    • Плагины для дизассемблирования кода для различных архитектур. В настоящее время поддерживаются архитектуры i386, x86-64 и ARM/Thumb;
  • Сгенерированные при помощи SWIG скрипты, позволяющие получить коду на языке Python доступ к управляющему отладочному API;
  • Серверный процесс debugserver, позволяющий организовать отладку кода на удаленном сервере;
  • Отладчик, работающий в режиме командной строки;
  • API для использования возможностей системы в сторонних проектах.


  1. Главная ссылка к новости (http://blog.llvm.org/2010/06/n...)
  2. OpenNews: Релиз отладчика GDB 7.1 и выход спецификации DWARF 4
Лицензия: CC-BY
Тип: К сведению
Ключевые слова: debug, llvm, vvdb
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Линейный вид | Ajax | Показать все | RSS
 
  • 1.1, Аноним, 21:46, 09/06/2010 [ответить] [смотреть все]
  • +2 +/
    Можно ли сравнивать быстродействие отладчика, если он поддерживает меньшее колич... весь текст скрыт [показать]
     
  • 1.2, Voviandr, 00:33, 10/06/2010 [ответить] [смотреть все]  
  • +1 +/
    респект разрабам, если ещё к этому отладчику годную морду прикрутят - буду рад неимоверно.
     
     
  • 2.3, Юрий, 01:07, 10/06/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +1 +/
    Яблочники прикрутят
     
     
  • 3.4, kshetragia, 05:31, 10/06/2010 [^] [ответить] [смотреть все]  
  • +2 +/
    Сильно не уверен, что захотят ей поделиться.
     
     
  • 4.5, Аноним, 09:30, 10/06/2010 [^] [ответить] [смотреть все]  
  • –1 +/
    А что ж комьюнити ? может жить только на подачках?
     
     
  • 5.10, kshetragia, 11:34, 10/06/2010 [^] [ответить] [смотреть все]  
  • +1 +/
    Речь об Apple вообще-то
     
  • 5.13, int21h, 15:12, 10/06/2010 [^] [ответить] [смотреть все]  
  • +1 +/
    оно поддерживает только макос - удачи в расчете на комьюнити ее пользователей ... весь текст скрыт [показать]
     
  • 3.15, User294, 15:37, 10/06/2010 [^] [ответить] [смотреть все]  
  • –2 +/
    А остальные как обычно получат волшебный кукиш или пойдут стройными рядами покуп... весь текст скрыт [показать]
     
     
  • 4.16, Юрий, 15:41, 10/06/2010 [^] [ответить] [смотреть все]  
  • +/
    Все верно: покупать макось, а не XCode
     
  • 4.18, iZEN, 20:29, 10/06/2010 [^] [ответить] [смотреть все]  
  • +/
    А остальные, если им захочется, переделают LLDB под себя, включат код в свой про... весь текст скрыт [показать]
     
  • 4.20, Аноним, 23:56, 12/06/2010 [^] [ответить] [смотреть все]  
  • +/
    Если хочется готовую морду - покупаем макось Нету денег - пишем сами морду или ... весь текст скрыт [показать]
     
  • 1.6, sluge, 10:03, 10/06/2010 [ответить] [смотреть все]  
  • +1 +/
    страныне ребята-сначала почему то на мак полезли..
     
     
  • 2.7, Aleksey, 10:29, 10/06/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    Может потому, что они работают в Apple?
     
  • 2.14, int21h, 15:18, 10/06/2010 [^] [ответить] [смотреть все] [показать ветку]  
  • +2 +/
    >страныне ребята-сначала почему то на мак полезли..

    ну так это эппл для себя делает :) кто хочет поработать? корпорация Эппл - только сегодня бесплатно! спешите!

     
     
  • 3.17, Юрий, 15:46, 10/06/2010 [^] [ответить] [смотреть все]  
  • +1 +/
    >ну так это эппл для себя делает :) кто хочет поработать? корпорация
    >Эппл - только сегодня бесплатно! спешите!

    Может и "для себя" но не "только для себя":
    All of the code in the LLDB project is available under the standard LLVM License, an open source "BSD-style" license.


     
     
  • 4.19, kshetragia, 04:55, 11/06/2010 [^] [ответить] [смотреть все]  
  • +/
    а как это относится к морде?

     
     
  • 5.21, fr0ster, 08:46, 15/06/2010 [^] [ответить] [смотреть все]  
  • +/
    Напишите свою.
     

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


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