[содержание] [назад] [пред] [вверх] [след] [вперед]
назначение отладчика, такого как 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 с анонимного 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 были доротеа люткехаус и андреас зеллер. в
его разрабутку внесли вклад и многие другие. практически все они
упомянуты в файлах `changelog' и `thanks' из дистрибутива
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.
[содержание] [назад] [пред] [вверх] [след] [вперед]
|