[Содержание]   [Назад]   [Пред]   [Вверх]   [След]   [Вперед]  


Обзор DDD

Назначение отладчика, такого как DDD, -- позволить вам увидеть, что происходит "внутри" другой программы в процессе ее работы, -- или узнать, что делала другая программа в момент краха.

DDD может выполнять четыре основные операции (плюс другие вещи для поддержки этих четырех), чтобы помочь вам поймать ошибки в действии:

  • Запустить вашу программу, определив все, что может повлиять на ее поведение.
  • Заставить вашу программу остановиться при указанном условии.
  • Выяснить, что произошло, когда ваша программа остановилась.
  • Изменить что-то в вашей программе, чтобы вы могли поэкспериментировать над исправлением результатов ошибки и перейти к исследованию следующей.

Говоря технически, DDD является интерфейсом к отладчику, управляемому из командной строки (он называется подчиненным отладчиком, поскольку работает на уровень ниже DDD). DDD поддерживает следующие подчиненные отладчики:

  • Для отладки исполняемых двоичных файлов вы можете использовать DDD с GDB, DBX, Ladebug или XDB.
    • GDB, отладчик GNU, -- рекомендуемый подчиненный отладчик для DDD. GDB поддерживает родные исполняемые файлы, написанные изначально на Си, Си++, Модуле-2, Модуле-3, Паскале, Аде, Фортране, Java и Chill (см. раздел `Использование GDB с разными языками' в Отладка в GDB, для получения информации о поддержки языков в GDB.)
    • В качестве альтернативы GDB вы можете использовать DDD с отладчиком DBX, который есть на многих системах UNIX. Большинство реализаций DBX предоставляют меньше возможностей, чем GDB, а некоторые наиболее продвинутые средства DBX могут не поддерживаться в DDD. Однако, применение DBX может оказаться полезным, если GDB не понимает или не поддерживает полностью генерируемую вашим компилятором отладочную информацию.
    • В качестве альтернативы GDB и DBX вы можете использовать DDD с отладчиком Ladebug, который устанавливается на системах DEC. Ladebug предоставляет меньше возможностей, чем GDB, а некоторые наиболее продвинутые средства Ladebug могут не поддерживаться в DDD. Однако, применение Ladebug может оказаться полезным, если GDB или DBX не понимают или не поддерживают полностью генерируемую вашим компилятором отладочную информацию.(1)
    • Как еще одну альтернативу GDB вы можете применить с DDD отладчик XDB, существующий на системах @acronym{HP-UX}.(2)
  • Для отладки байт-кодовых Java-программ вы можете использовать DDD с JDB, отладчиком Java, который поставляется с @acronym{JDK} 1.1 и более поздними версиями.
  • Для отладки программ на языке Python вы можете использовать DDD с PYDB, отладчиком для Python.
  • Для отладки программ на Perl вы можете использовать DDD с отладчиком Perl из Perl 5.003 и более поздних версий.

См. раздел 2.1.1 Выбор подчиненного отладчика, чтобы выбрать подходящий подчиненный отладчик. См. раздел 1. Пример сеанса DDD, чтобы получить первое впечатление о DDD.

Об этом руководстве

Данное руководство поставляется в нескольких форматах:

  • Формат Info используется для просмотра на текстовых устройствах; в нем нет рисунков. У вас, вероятно, установлена локальная копия, которую вы можете просматривать из Emacs, с помощью отдельной программы info или из DDD через `Help => DDD Manual'. Дистрибутив исходных текстов DDD, `ddd-3.2.1.tar.gz', включает это руководство в виде уже отформатированных Info-файлов; вы также можете взять их на WWW-странице DDD.
  • Формат PostScript используется для печати на бумаге; в нем кроме того есть рисунки. Дистрибутив исходных текстов DDD, `ddd-3.2.1.tar.gz', включает это руководство в виде уже отформатированного PostScript-файла; вы также можете взять их на WWW-странице DDD.
  • Формат PDF применяется для печати на бумаге и для интерактивного просмотра; в нем также есть рисунки. Дистрибутив исходных текстов DDD, `ddd-3.2.1.tar.gz', включает это руководство в виде уже отформатированного PDF-файла; вы также можете взять их на WWW-странице DDD.
  • Формат HTML используется для просмотра на графических устройствах; в нем есть несколько рисунков. Вы можете просматривать его с помощью броузера HTML, обычно с локальной копии. Отформатированная HTML-версия этого руководства поставляется в отдельном пакете DDD, `ddd-3.2.1-html-manual.tar.gz'; вы можете просмотреть и загрузить его через WWW-странице DDD.

Само руководство написано в формате Texinfo; его исходный файл `ddd.texi' находится в дистрибутиве исходников DDD `ddd-3.2.1.tar.gz'.

Рисунки поставляются в отдельном пакете `ddd-3.2.1-pics.tar.gz'; он понадобится вам, только если вы захотите сами создать PostScript-, HTML- или PDF-версии.

Свободное программное обеспечение

DDD распространяется свободно; это означает, что каждый волен его использовать и повторно распространять на свободной основе. DDD не является общественным достоянием; он защищен законами об авторских правах, и на его распространение накладываются некоторые ограничения, но ограничения эти написаны так, чтобы позволить все, что может захотеть хороший благонамеренный гражданин. Что не разрешается, так это пытаться мешать другим и далее совместно пользоваться любой версией этих программ, которые они могли бы от вас получить. Точные условия находятся в Универсальной Общественной Лицензии GNU, которая поставляется вместе с DDD; См. раздел G. Универсальная Общественная Лицензия GNU, для получения подробностей.

Простейший способ получить копию DDD -- взять ее у кого-нибудь, у кого он уже есть. Вам не нужно спрашивать на это разрешения или говорить об этом кому-то; просто скопируйте.

Как получить DDD

Если у вас есть доступ к Интернету, вы можете получить последнюю версию DDD с анонимного FTP-сервера `ftp.gnu.org' в каталоге `/gnu/ddd'. В нем должны лежать следующие файлы:

``ddd-version.tar.gz''
Дистрибутив исходных текстов DDD. Его должно быть достаточно.
``ddd-version-html-manual.tar.gz''
Руководство по DDD в формате HTML. Оно понадобится вам только в том случае, если вы хотите установить локальную копию руководства в формате HTML.
``ddd-version-pics.tar.gz''
Рисунки из руководства по DDD. Они нужны вам, только если вы хотите заново переформатировать руководство по DDD.

DDD также можно найти на многих других архивных сайтах по всему миру; последний список известных сайтов смотрите в файле `ANNOUNCE' в дистрибутиве DDD.

Авторы DDD

Изначально авторами DDD были Доротеа Люткехаус и Андреас Зеллер. В его разрабутку внесли вклад и многие другие. Практически все они упомянуты в файлах `ChangeLog' и `THANKS' из дистрибутива DDD.

История DDD

История DDD -- это история переработки кода. Самые старые части были написаны в 1990-ом году, когда Андреас Зеллер придумал VSL, визуальный язык структур для отображения структур данных и программ. Интерпретатор VSL и библиотека Box стали частью дипломной работы Андреаса: графического синтаксического редактора, основанного на Генераторе Программных Систем @acronym{PSG}.

В 1992-ом году библиотеки VSL и Box были использованы для проекта @acronym{NORA}. Для этого проекта, экспериментального инструмента для разработки программ, основанного на логическом выводе, Андреас написал редактор графов (базируясь на библиотеках VSL и Box) и средства для обмена знаниями между процессами. Используя эти инструменты, Доротеа Люткехаус (теперь Доротеа Крабилл) реализовала в 1994-ом году DDD как свою дипломную работу.

В первом DDD не было окна с исходным текстом; Доротеа добавила это зимой 1994--1995. В первом квартале 1995-ого Андреас наконец закончил DDD, добавив окна команд и выполнения, расширения для DBX и удаленной отладки, а также поддержку конфигурирования для нескольких архитектур. С тех пор Андреас сопровождал и расширял DDD, опираясь на комментарии и предложения от нескольких пользователей DDD со всего мира. Подробности смотрите в комментариях к исходному коду DDD.

Основные связанные с DDD события:

апрель 1995
DDD 0.9: Первый бета-выпуск DDD.
май 1995
DDD 1.0: Первый публичный выпуск DDD.
декабрь 1995
DDD 1.4: Отладка на уровне машинных кодов, глифы, интеграция с Emacs.
октябрь 1996
DDD 2.0: Цветной вывод, поддержка XDB, общая поддержка DBX.
май 1997
DDD 2.1: Обнаружение псевдонимов, подсказки для кнопок, отображение статуса.
ноябрь 1997
DDD 2.2: Сеансы, быстрое создание отображений.
июнь 1998
DDD 3.0: Линейка инструментов с пиктограммами, поддержка Java и JDB.
декабрь 1998
DDD 3.1: Построение графиков, поддержка Perl и Python, Отмена/Возврат.
январь 2000
DDD 3.2: Новое руководство, поддержка Readline, поддержка Ladebug.


[Содержание]   [Назад]   [Пред]   [Вверх]   [След]   [Вперед]  

Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости