DDD предоставляет некоторые базовые средства для редактирования и перекомпиляции исходного кода, а также для наложения заплат на исполняемые файлы и файлы с дампами памяти.
Вы не можете изменять текущий отображаемый файл в самом DDD. Вместо этого DDD позволяет вам вызвать текстовый редактор. Чтобы вызвать текстовый редактор для текущего исходного файла, нажмите кнопку `Edit' или выберите `Source => Edit Source'.
По умолчанию DDD пробует запустить несколько распространенных редакторов. Вы можете настроить DDD на использование вашего любимого редактора; См. раздел 9.1.1 Настройка редактирования, для получения подробностей.
После выхода из редактора отображение исходного кода автоматически обновляется.
Если у вас параллельно запущены и DDD, и редактор, вы также можете обновлять исходный код вручную через `Source => Reload Source'. Это перезагружает отображаемый код из исходного файла. Поскольку DDD автоматически перезагружает исходный код при перекомпиляции отлаживаемой программы, ручная перегрузка редко бывает нужна.
Вы можете указать, каким редактором вы предпочитаете пользоваться, через `Edit => Preferences => Helpers => Edit Sources'. С этой установкой связан такой ресурс:
$XEDITOR
, потом
$EDITOR
, потом vi
:
Ddd*editCommand: \
${XEDITOR-false} +@LINE@ @FILE@ || \
xterm -e ${EDITOR-vi} +@LINE@ @FILE@
Ниже показана установка из `~/.ddd/init' для вызова сеанса
редактирования в редакторе XEmacs с запущенным gnuserv
:
Ddd*editCommand: gnuclient +@LINE@ @FILE@
Эта установка из `~/.ddd/init' вызывает сеанс
редактирования в редакторе Emacs с запущенным emacsserver
:
Ddd*editCommand: emacsclient +@LINE@ @FILE@
Это экспериментальный ресурс:
Для перекомпиляции исходного кода с помощью make
вы можете
выбрать `File => Make'. Всплывет диалоговое окно, где вы
можете ввести цель Make -- как правило, это имя исполняемого
файла. Щелчок на кнопке `Make' вызывает программу make
с
указанной целью.
Кнопка `Make' на панели команд повторно вызывает make
с
последними использованными аргументами.
При использовании GDB вы можете открыть исполняемый код вашей программы (и файл с дампом памяти) как для чтения, так и для записи. Это позволяет изменять машинный код, так что вы можете намеренно накладывать заплаты на исполняемый файл вашей программы. Например, вы можете захотеть выставить внутренние отладочные флаги или даже сделать аварийные исправления.
Чтобы наложить заплату на двоичный файл, включите `Edit => GDB Settings => Writing into executable and core files'. Тогда GDB будет открывать исполняемые файлы и дампы памяти и для чтения, и для записи. Если вы уже загрузили файл, вы должны загрузить его снова (с помощью `Edit => Open File' или `Edit => Open Core'), чтобы новая установка возымела силу.
Не забудьте выключить `Writing into executable and core files' как можно скорее, чтобы предотвратить неумышленное изменение машинного кода.