[Содержание] [Назад] [Пред] [Вверх] [След] [Вперед]
DDD составлен из трех основных окон. Снизу вверх:
Кроме этих трех главных окон есть еще несколько дополнительных:
-
Панель команд предоставляет кнопки для часто используемых команд.
Обычно она располагается поверх окна исходного текста. См. раздел 3.3 Панель команд, для дополнительной информации.
-
Окно машинного кода показывает текущий машинный код. Обычно оно
располагается под текущим исходником. См. раздел 8.1 Исследование машинного кода, для
получения подробностей.
-
Окно выполнения показывает ввод и вывод отлаживаемой программы.
См. раздел 6.2 Использование окна выполнения, для дополнительной информации.
Полоска меню DDD предоставляет доступ ко всем функциям DDD.
File
-
Производит операции с файлами, такие как выбор программ, процессов и
сеансов, печать графов, перекомпиляция, а также выход.
Edit
-
Производит стандартные операции редактирования, такие как вырезка,
копирование, вставка и уничтожение выделенного текста. Также позволяет
редактировать параметры DDD и ваши предпочтения.
View
-
Предоставляет доступ к отдельным окнам DDD.
Program
-
Производит операции, относящиеся к отлаживаемой программе, такие как
запуск и останов.
Commands
-
Производит операции, относящиеся к командам DDD, такие как доступ к
истории команд или определение новых команд.
Status
-
Исследует состояние программы, например, следы вызовов, регистры или
нити.
Source
-
Производит операции, относящиеся к исходному коду, такие как поиск
объектов или редактирование точек останова.
Data
-
Производит операции, относящиеся к данным, такие как редактирование
отображений или размещение объектов в графе данных.
Maintenance
-
Производит операции, полезные для отладки DDD. По умолчанию это меню
выключено.
Help
-
Дает справку по использованию DDD.
Есть два способа выбрать элемент из ниспадающего меню:
- Выбрать элемент в полоске меню, переместив к нему курсор и щелкнув
первой кнопкой мыши. Затем переместить курсор к нужному пункту
меню и снова щелкнуть левой кнопкой.
- Выбрать элемент в полоске меню, переместив к нему курсор и нажав
первую кнопку мыши. Не отпуская кнопку, переместите курсор к
нужному пункту меню и отпустите кнопку.
Меню также можно отцепить (то есть превратить в постоянное окно),
выбрав штриховую линию сверху меню.
Если команда из ниспадающего меню не применима в данной ситуации, то эта
команда выключена, а ее имя выводится затененным. Вы не можете
вызывать затененные пункты меню. Например, многие команды в меню
`Edit' затенены, пока вы не выделите текст, на который они могут
действовать; когда вы выделяете блок текста, команды редактирования
включаются.
Меню `File' содержит операции, относящиеся к файлам, такие как
выбор программ, процессов и сеансов, печать графов, перекомпиляция, а
также выход из DDD.
Open Program
-
Open Class
-
Открыть программу или класс для отладки. См. раздел 4.2.1 Открывание программ,
для получения подробностей.
Open Recent
-
Повторно открыть для отладки программу, которую вы недавно уже
открывали. См. раздел 4.2.1 Открывание программ, для получения подробностей.
Open Core Dump
-
Открыть дамп памяти для отлаживаемой в текущий момент программы.
См. раздел 4.2.2 Открывание дампов памяти, для дополнительной информации.
Open Source
-
Открыть исходный файл отлаживаемой в текущий момент программы.
См. раздел 4.2.3 Открывание исходных файлов, для дополнительной информации.
Open Session
-
Продолжить сохраненный ранее сеанс DDD. См. раздел 2.3.2 Продолжение сеансов,
для получения подробностей.
Save Session As
-
Сохранить текущий сеанс DDD, чтобы его можно было продолжить
позднее. См. раздел 2.3.1 Сохранение сеансов, для получения подробностей.
Attach to Process
-
Подсоединиться к работающему процессу отлаживаемой программы.
См. раздел 6.3 Подсоединение к процессу, для получения подробностей.
Detach Process
-
Отсоединиться от работающего процесса. См. раздел 6.3 Подсоединение к процессу,
для получения подробностей.
Print Graph
-
Напечатать текущий граф на принтере. См. раздел 7.3.6 Печать графа, для
дополнительной информации.
Change Directory
-
Сменить рабочий каталог вашей программы. См. раздел 6.1.3 Рабочий каталог вашей программы, для
дополнительной информации.
Make
-
Запустить программу
make
. См. раздел 9.2 Перекомпиляция, для
получения подробностей.
Close
-
Закрыть текущее окно DDD.
Restart
-
Перезапустить DDD.
Exit
-
Выйти из DDD.
Меню `Edit' содержит стандартные операции редактирования, такие как
вырезка, копирование, вставка и уничтожение выделенного текста. Оно
также позволяет редактировать параметры DDD и пользовательские
предпочтения.
Undo
-
Отменить последнее действие. Таким способом можно отменить почти все
команды. См. раздел 3.5 Отмена и возврат команд, для дополнительной информации.
Redo
-
Повторить последнее отмененное действие. Таким способом можно повторить
любую отмененную команду. См. раздел 3.5 Отмена и возврат команд, для дополнительной
информации.
Cut
-
Удаляет выделенный блок текста из текущей текстовой области и помещает
его в буфер обмена X Windows. Перед выполнением этой команды вы должны
выделить область текста -- мышью или с помощью обычных клавиш выделения
текста.
Этот пункт можно также применять к отображениям (см. раздел 7.3.1.11 Удаление отображений).
Copy
-
Помещает выделенный блок текста в буфер обмена X Windows. Вы можете
выделить текст мышью или с помощью клавиш. См. раздел 3.1.11.2 Настройка меню Edit,
об изменении принимаемых по умолчанию привязок клавиш.
Этот пункт можно также применять к отображениям (см. раздел 7.3.1.11 Удаление отображений).
Paste
-
Вставляет текущее значение буфера обмена X Windows в последнюю выбранную
текстовую область. Вы можете вставлять текст, который вы поместили в
буфер обмена с помощью `Copy' или `Cut'. Кроме того, вы
можете использовать `Paste' для вставки текста, помещенного в буфер
обмена другими приложениями.
Clear
-
Очищает последнюю выбранную текстовую область.
Delete
-
Удаляет выделенный блок текста из последней выбранной текстовой области,
но не помещает его в буфер обмена X Windows.
Этот пункт можно также применять к отображениям (см. раздел 7.3.1.11 Удаление отображений).
Select All
-
Выделяет все знаки из последней выбранной текстовой области.
См. раздел 3.1.11.2 Настройка меню Edit, об изменении принимаемых по умолчанию
привязок.
Preferences
-
Позволяет вам интерактивно настраивать DDD. См. раздел 3.6 Настройка DDD, для
дополнительной информации.
Debugger Settings
-
Позволяет настроить подчиненный отладчик. См. раздел 3.6.5 Установки отладчика,
для получения подробностей.
Save Options
-
Сохраняет все установки и предпочтения для следующего вызова DDD.
См. раздел 3.6.1.3 Сохранение параметров, для получения подробностей.
Меню `View' позволяет получать доступ к отдельным окнам DDD.
Command Tool
-
Открыть и отцентрировать панель команд. См. раздел 3.3 Панель команд, для
дополнительной информации.
Execution Window
-
Открыть отдельное окно выполнения. См. раздел 6.2 Использование окна выполнения, для дополнительной информации.
Debugger Console
-
Открыть консоль отладчика. См. раздел 10. Интерфейс командной строки, для дополнительной
информации.
Source Window
-
Открыть окно исходного текста. См. раздел 4. Навигация по исходному коду, для получения
подробностей.
Data Window
-
Открыть окно данных. См. раздел 7.3 Отображение сложных значений в окне данных, для получения
подробностей.
Machine Code Window
-
Показать машинный код. См. раздел 8.1 Исследование машинного кода, для получения подробностей.
Меню `Program' производит операции, относящиеся к отлаживаемой
программе, такие как запуск и останов.
Большинство этих команд также есть в панели команд (см. раздел 3.3 Панель команд).
Run
-
Начать выполнение программы, запросив аргументы. См. раздел 6.1 Начало выполнения программы, для получения подробностей.
Run Again
-
Начать выполнение программы с последними использованными аргументами.
См. раздел 6.1 Начало выполнения программы, для получения подробностей.
Run in Execution Window
-
Если включено, начать выполнение следующей программы в отдельном окне
выполнения. См. раздел 6.2 Использование окна выполнения, для дополнительной
информации.
Step
-
Продолжить выполнение программы до тех пор, пока не будет достигнута
другая исходная строка, затем остановить программу и вернуть управление
DDD. См. раздел 6.5 Продолжение выполнения, для получения подробностей.
Step Instruction
-
Выполнить одну машинную инструкцию, остановить выполнение и вернуться в
DDD. См. раздел 8.2 Выполнение машинного кода, для получения подробностей.
Next
-
Продолжить до следующей исходной строки в пределах текущего (самого
внутреннего) фрейма стека. Это аналогично `Step', но появляющиеся
в строке кода вызовы функций выполняются без останова.
См. раздел 6.5 Продолжение выполнения, для получения подробностей.
Next Instruction
-
Выполнить одну машинную инструкцию, но если это вызов функции, пройти до
возврата из нее. См. раздел 8.2 Выполнение машинного кода, для получения
подробностей.
Until
-
Продолжить выполнение до тех пор, пока не будет достигнута исходная
строка, идущая после текущей, в пределах текущего фрейма стека.
См. раздел 6.5 Продолжение выполнения, для получения подробностей.
Finish
-
Продолжить выполнение до возврата любой функции в выбранном фрейме
стека. Напечатать возвращенное значение (если оно есть).
См. раздел 6.5 Продолжение выполнения, для дополнительной информации.
Continue
-
Продолжить выполнение программы с того адреса, где она в последний раз
остановилась; все установленные по этому адресу точки останова
пропускаются. См. раздел 6.5 Продолжение выполнения, для дополнительной
информации.
Continue Without Signal
-
Продолжить выполнение, не посылая сигнал. Это полезно, когда ваша
программа остановилась из-за сигнала, и если продолжить ее с помощью
`Continue', она увидела бы этот сигнал. См. раздел 6.10 Обработка сигналов, для
дополнительной информации.
Kill
-
Уничтожить процесс отлаживаемой программы. См. раздел 6.11 Уничтожение программы, для получения подробностей.
Interrupt
-
Прервать выполнение программы. Это эквивалентно посыланию процессу
сигнала прерывания. См. раздел 5.3 Прерывание, для получения подробностей.
Abort
-
Аварийно остановить выполнение программы (и, возможно, отладчика). Это
эквивалентно посыланию процессу сигнала
SIGABRT
. См. раздел 2.2 Выход из DDD,
для получения подробностей.
Меню `Commands' производит операции, относящиеся к командам DDD,
такие как доступ к истории или определение новых команд.
Большая часть его пунктов на самом деле не предназначены для выполнения
через меню; они просто служат для напоминания об эквивалентных
командах клавиатуры.
Command History
-
Просмотреть историю команд. См. раздел 10.1.2 История команд, для получения
подробностей.
Previous
-
Показать предыдущую команду из истории. См. раздел 10.1.2 История команд, для получения
подробностей.
Next
-
Показать следующую команду из истории. См. раздел 10.1.2 История команд, для
получения подробностей.
Find Backward
-
Запустить наращиваемый поиск по истории команд. См. раздел 10.1.2 История команд, для
получения подробностей.
Find Forward
-
Запустить наращиваемый поиск в обратном направлении по истории команд.
См. раздел 10.1.2 История команд, для получения подробностей.
Quit Search
-
Выйти из наращиваемого поиска по истории команд. См. раздел 10.1.2 История команд,
для получения подробностей.
Complete
-
Завершить текущую команду в консоли отладчика. См. раздел 10.1 Ввод команд, для
получения подробностей.
Apply
-
Применить текущую команду в консоли отладчика. См. раздел 10.1 Ввод команд, для
получения подробностей.
Clear Line
-
Очистить текущую командную строку в консоли отладчика. См. раздел 10.1 Ввод команд, для получения подробностей.
Clear Window
-
Очистить консоль отладчика. См. раздел 10.1 Ввод команд, для получения
подробностей.
Define Command
-
Определить новую команду отладчика. См. раздел 10.5 Определение команд, для
дополнительной информации.
Edit Buttons
-
Настроить кнопки DDD. См. раздел 10.4 Определение кнопок, для дополнительной
информации.
Меню `Status' позволяет вам узнать состояние программы, например,
просмотреть следы вызовов, регистры или нити.
Backtrace
-
Показать текущий след вызовов. См. раздел 6.7.2 Следы вызовов, обсуждение этой
темы.
Registers
-
Показать текущее содержимое регистров. См. раздел 8.3 Исследование регистров, для
дополнительной информации.
Threads
-
Показать текущие нити. См. раздел 6.9 Исследование нитей, для дополнительной
информации.
Signals
-
Показать или отредактировать обработку сигналов. См. раздел 6.10 Обработка сигналов, для
дополнительной информации.
Up
-
Выбрать фрейм стека (то есть функцию), в котором была вызвана текущая
функция. Это перемещает вас к внешнему фрейму, к фреймам с большими
номерами, которые существуют дольше. См. раздел 6.7 Исследование стека, для дополнительной
информации.
Down
-
Выбрать фрейм стека (то есть функцию), который был вызван из текущего.
Это перемещает вас к внутреннему фрему, к фреймам с меньшими номерами,
которые были созданы не так давно. См. раздел 6.7 Исследование стека, для дополнительной
информации.
Меню `Source' производит операции, относящиеся к исходному коду,
такие как поиск объектов или редактирование точек останова.
Breakpoints
-
Редактировать все точки останова. См. раздел 5.1.11 Редактирование всех точек останова, для дополнительной информации.
Lookup ()
-
Искать аргумент `()' в исходном тексте. См. раздел 4.3.1 Поиск определений,
для дополнительной информации.
Find >> ()
-
Искать следующее появление аргумента `()' в текущем исходном
тексте. См. раздел 4.3.2 Текстуальный поиск, для дополнительной информации.
Find << ()
-
Искать предыдущее появление аргумента `()' в текущем исходном
тексте. См. раздел 4.3.2 Текстуальный поиск, для дополнительной информации.
Find Words Only
-
Если включено, искать только полные слова. См. раздел 4.3.2 Текстуальный поиск,
для дополнительной информации.
Find Case Sensitive
-
Если включено, искать с учетом регистра. См. раздел 4.3.2 Текстуальный поиск,
для дополнительной информации.
Display Line Numbers
-
Если включено, выводить перед строкой исходного текста ее номер.
См. раздел 4.4 Настройка окна исходного кода, для получения подробностей.
Display Machine Code
-
Если включено, показывать машинный код. См. раздел 8.1 Исследование машинного кода, для
получения подробностей.
Edit Source
-
Вызвать редактор для текущего исходного файла. См. раздел 9.1 Редактирование исходного кода, для получения подробностей.
Reload Source
-
Перезагрузить текущий исходный файл. См. раздел 9.1 Редактирование исходного кода, для получения подробностей.
Меню `Data' производит операции, относящиеся к данным, такие как
редактирование отображений или размещение объектов в графе данных.
Displays
-
Вызывает редактор отображений. См. раздел 7.3.1.10 Редактирование всех отображений, для
получения подробностей.
Watchpoints
-
Редактировать все точки наблюдения. См. раздел 5.2.3 Редактирование всех точек наблюдения, для получения подробностей.
Memory
-
Показать дамп памяти. См. раздел 7.5 Исследование памяти, для получения
подробностей.
Print ()
-
Напечатать текущее значение `()' в консоли отладчика. См. раздел 7.2 Печать простых значений в консоли отладчика, для получения подробностей.
Display ()
-
Показать значение `()' в окне данных. См. раздел 7.3 Отображение сложных значений в окне данных,
для получения подробностей.
Detect Aliases
-
Если включено, детектировать разделяемые структуры данных.
См. раздел 7.3.4.3 Разделяемые структуры, обсуждение этой темы.
Display Local Variables
-
Показать все локальные переменные. См. раздел 7.3.1.5 Отображение локальных переменных, для дополнительной информации.
Display Arguments
-
Показать все аргументы текущей функции. См. раздел 7.3.1.5 Отображение локальных переменных, для дополнительной информации.
Status Displays
-
Показать текущую отладочную информацию. См. раздел 7.3.1.6 Отображение состояния программы, для дополнительной информации.
Align on Grid
-
Выравнять все отображения по сетке. См. раздел 7.3.5.3 Выравнивание отображений,
для дополнительной информации.
Rotate Graph
-
Повернуть граф на 90 градусов. См. раздел 7.3.5.5 Поворот графа, для дополнительной
информации.
Layout Graph
-
Переформатировать граф. См. раздел 7.3.5 Компоновка графа, для дополнительной
информации.
Refresh
-
Обновить все значения в окне данных. См. раздел 7.3.1.7 Обновление окна данных, для
дополнительной информации.
Меню `Maintenance' производит операции, которые полезны для отладки
DDD.
По умолчанию это меню выключено; включить его можно, специально запросив
при запуске DDD (с помощью ключа --maintenance
;
см. раздел 2.1.2 Ключи DDD). Оно также включается, когда DDD получает фатальный
сигнал.
Debug DDD
-
Вызвать отладчик (обычно GDB) и присоединить его к данному процессу
DDD. Это полезно, только если вы сопровождаете DDD.
Dump Core Now
-
Заставляет данный процесс DDD сбросить дамп памяти. Этого также
можно добиться, послав DDD сигнал
SIGUSR1
.
Tic Tac Toe
-
Вызвать игру крестики-нолики. Вы должны постараться поставить три знака
"стоп" в один ряд, мешая DDD сделать то же самое с черепами. Чтобы
перезапустить игру, щелкните на `New Game'.
When DDD Crashes
-
Выбрать действие, которое предпринимается, когда DDD получает
фатальный сигнал.
Debug DDD
-
Вызвать отладчик для дампа памяти DDD, когда DDD терпит крах. Это
полезно, только если вы сопровождаете DDD.
Dump Core
-
Просто сбросить дамп памяти, когда DDD рушится; не вызывать отладчик.
Это принимается по умолчанию, поскольку дамп может содержать важную
информацию, необходимую для отладки DDD.
Do Nothing
-
Не сбрасывать дамп памяти и не вызывать отладчик, когда DDD терпит
крах.
Remove Menu
-
Сделать это меню снова недоступным.
Меню `Help' дает справку по использованию DDD. См. раздел 3.4 Получение справки, как получить справку из DDD.
Overview
-
Объясняет наиболее важные понятия справочной информации DDD.
On Item
-
Позволяет вам щелкнуть на объекте для получения справки о нем.
On Window
-
Дает справку о текущем окне DDD.
What Now?
-
Подсказывает что делать дальше.
Tip of the Day
-
Показывает совет дня.
DDD Reference
-
Показывает руководство по DDD.
DDD News
-
Показывает, что есть нового в этом выпуске DDD.
Debugger Reference
-
Показывает интерактивную документацию по подчиненному отладчику.
DDD License
-
Показывает лицензию DDD (см. раздел G. Универсальная Общественная Лицензия GNU).
DDD WWW Page
-
Вызывает броузер для веб-страницы DDD.
About DDD
-
Показывает номер версии и информацию об авторских правах.
Полоску меню можно настраивать разными способами (см. раздел 3.6 Настройка DDD).
Можно сделать так, чтобы ниспадающие меню поднимались автоматически.
- Ресурс: autoRaiseMenu (класс AutoRaiseMenu)
-
Если `on' (по умолчанию), DDD будет всегда сохранять ниспадающие
меню выше главного окна DDD. Если эта установка конфликтует с вашим
менеджером окон, или если менеджер окон не поднимает окна автоматически,
установите этот ресурс в значение `off'.
- Ресурс: autoRaiseMenuDelay (класс AutoRaiseMenuDelay)
-
Время (в миллисекундах), в течении которого первоначально поднятое окно
блокирует другие автоматические поднимания. Это делается для
предотвращения входа двух перекрывающихся автоматически поднимаемых окон
в цикл автоматического поднимания. По умолчанию это
100
.
Меню `Edit' можно по-разному настраивать. Для настройки ключей
используйте `Edit => Preferences => Startup'.
Ключ Ctrl+C можно привязать к разным действиям, каждое
соответствует своему стандарту интерфейса.
Copy
-
Привязывает Ctrl+C к операции копирования, как предписывает
стандарт интерфейса KDE. При такой установке используйте для прерывания
отлаживаемой программы клавишу ESC.
Interrupt
-
Эта установка (действующая по умолчанию) привязывает Ctrl+C к
операции прерывания, как во многих программах UNIX. При такой
установке копируйте текст в буфер обмена с помощью Ctrl+Ins.
Ctrl+A тоже можно привязать к разным действиям.
Select All
-
Эта установка (принимаемая по умолчанию) привязывает Ctrl+A к
операции `Select All', как предписывает стандарт интерфейса KDE.
При такой установке используйте для перемещения курсора в начало строки
клавишу Home.
Beginning of Line
-
Эта установка привязывает Ctrl+A к операции `Beginning of
Line', как во многих программах UNIX для редактирования текста. Для
выделения всего текста при такой установке используйте
Ctrl+Shift+A.
Вот соответствующие ресурсы DDD:
- Ресурс: cutCopyPasteBindings (класс BindingStyle)
-
Управляет привязками клавиш для операций с буфером обмена.
-
Если это `Motif' (по умолчанию), то вырезка/копирование/вставка
находятся на Shift+Del/Ctrl+Ins/Shift+Ins. Это
соответствует стандарту интерфейса Motif.
-
Если это `KDE', вырезка/копирование/вставка находятся на
Ctrl+X/Ctrl+C/Ctrl+V. Это соответствует стандарту
интерфейса KDE. Обратите внимание, Ctrl+C не прерывает
отлаживаемую программу; используйте для этого ESC.
- Ресурс: selectAllBindings (класс BindingStyle)
-
Управляет привязкой клавиш для операции `Select All'.
-
Если это `Motif', Select All находится на Shift+Ctrl+A.
-
Если это `KDE' (по умолчанию), Select All находится на
Ctrl+A. Так предписывает стандарт интерфейса KDE. Заметьте, что
Ctrl+A при этом не перемещает курсор в начало строки; используйте
для этого Home.
Некоторые команды DDD требуют аргумента. Аргумент задается в
поле аргумента, помеченном как `():'. Есть четыре основных
способа задавать аргументы:
-
Вы можете напечатать аргумент вручную.
-
Вы можете вставить текущее выделение в поле аргумента (обычно с
помощью второй кнопки мыши). Если вы хотите сначала очистить
старое содержимое, щелкните на метку `():'.
-
Вы можете выбрать объект из окна исходника или данных. Тогда
этот объект автоматически копируется в поле аргумента.
-
Вы можете выбрать ранее использовавшийся аргумент из ниспадающего
меню справа от поля аргументов.
При использовании GDB или Perl поле аргумента предоставляет механизм
завершения. Вы можете ввести несколько первых знаков и нажать клавишу
TAB для завершения. Повторное нажатие TAB покажет другие
варианты завершения.
После ввода аргумента вы можете выбрать одну из трех кнопок справа. С
большей частью этих кнопок совмещены меню; это обозначается маленькой
стрелкой в верхнем правом углу. Нажатие и удержание на такой кнопке
первой кнопки мыши вызовет меню дальнейших операций.
Это кнопки на панели инструментов. Заметьте, что не все кнопки могут
быть неактивными, в зависимости от текущего состояния и возможностей
подчиненного отладчика.
Lookup
-
Найти аргумент `()' в исходном коде. См. раздел 4.3.1 Поиск определений, для
дополнительной информации.
Find >>
-
Найти следующее появление аргумента `()' в текущем исходном коде.
См. раздел 4.3.2 Текстуальный поиск, для получения подробностей.
Break/Clear
-
Включить или выключить точку останова (см. раздел 5.1 Точки останова) в позиции
`()'.
Break
-
Если в позиции `()' нет точки останова, то эта кнопка помечена как
`Break'. Щелчок на `Break' устанавливает точку останова в
позиции `()'. См. раздел 5.1.1 Установка точек останова, для получения
подробностей.
Clear
-
Если в `()', уже есть точка останова, то эта кнопка помечена как
`Clear'. Щелчок на `Clear' очищает (удаляет) точку останова в
позиции `()'. См. раздел 5.1.2 Удаление точек останова, для получения
подробностей.
Watch/Unwatch
-
Включить или выключить точку наблюдения (см. раздел 5.2 Точки наблюдения) для
выражения `()'.
Watch
-
Если за `()' не установлено наблюдение, то эта кнопка помечена как
`Watch'. Щелчок на `Watch' создает точку наблюдения для
выражения `()'. См. раздел 5.2.1 Установка точек наблюдения, для
дополнительной информации.
Unwatch
-
Если за `()' установлено наблюдение, то эта кнопка помечена как
`Unwatch'. Щелчок на `Unwatch' очищает (удаляет) точку
наблюдения для `()'. См. раздел 5.2.4 Удаление точек наблюдения, для
получения подробностей.
Print
-
Напечатать значение `()' в консоли отладчика. См. раздел 7.2 Печать простых значений в консоли отладчика, для получения подробностей.
Display
-
Отобразить значение `()' в окне данных. См. раздел 7.3 Отображение сложных значений в окне данных, для получения подробностей.
Plot
-
Построить график `()' в окне графика. См. раздел 7.4 Построение графика значений, для получения подробностей.
Show/Hide
-
Переключить подробность в выбранном отображении (или нескольких).
См. раздел 7.3.1.3 Показ и скрывание подробностей, обсуждение этой темы.
Rotate
-
Повернуть выбранное отображение (или несколько). См. раздел 7.3.1.4 Поворот отображений, для получения подробностей.
Set
-
Установить (изменить) значение `()'. См. раздел 7.3.3 Присваивание переменных, для
дополнительной информации.
Undisp
-
Удалить выделенное отображение (или несколько). См. раздел 7.3.1.11 Удаление отображений, для дополнительной информации.
Кнопки панели инструментов DDD могут отображаться в различных стилях,
это настраивается через `Edit => Preferences =>
Startup'.
Images
-
Позволяет выводить на каждой кнопке панели инструментов рисунок,
иллюстрирующий действие.
Captions
-
Показывать под рисунком название действия.
По умолчанию показываются и рисунки, и названия, но вы можете выбрать
только рисунки (для экономии места) или только названия.
Если вы предпочли не выводить ни рисунков, ни названий, кнопки панели
инструментов помечаются так же, как другие кнопки, как в DDD 2.x.
Обратите внимание: это подразумевает, что при совмещенной конфигурации
окон обычная панель инструментов не может отображаться; она заменяется
на две отдельные панели инструментов, как в DDD 2.x.
Если вы включите кнопки `Flat' (по умолчанию), то рамка кнопок
панели инструментов будет появляться только тогда, когда над ними
находится указатель мыши. Это последнейшее и величайшее изобретение в
области графических интерфейсов можно выключить, чтобы рамка кнопок
показывалась всегда.
Если вы включите кнопки `Color', рисунки панели инструментов будут
расцвечиваться, когда на них заходит указатель мыши. Если DDD собран
с Motif 2.0 или более поздним, вы можете также выбрать третью установку,
когда кнопки всегда цветные.
Вот соответствующие ресурсы (см. раздел 3.6 Настройка DDD):
- Ресурс: activeButtonColorKey (класс ColorKey)
-
Цветовой ключ @acronym{XPM} для использования в активных кнопках
(находящихся под указателем мыши и действующих). `c' означает
цвет, `g' (по умолчанию) означает градации серого, а `m' ---
монохромное изображение.
- Ресурс: buttonCaptions (класс ButtonCaptions)
-
Выводить кнопки панели инструментов с названиями (`on', по
умолчанию) или без (`off'). Если не включены ни рисунки, ни
названия, кнопки панели инструментов показываются с обычными метками.
Смотрите также `buttonImages' ниже.
- Ресурс: buttonCaptionGeometry (класс ButtonCaptionGeometry)
-
Геометрия фрагмента пиктограммы, содержащего название. По умолчанию это
`29x7+0-0'.
- Ресурс: buttonImages (класс ButtonImages)
-
Выводить кнопки панели инструментов с рисунками (`on', по
умолчанию) или без (`off'). Если не включены ни рисунки, ни
названия, кнопки панели инструментов показываются с обычными метками.
Смотрите также `buttonCaptions' выше.
- Ресурс: buttonImageGeometry (класс ButtonImageGeometry)
-
Геометрия фрагмента пиктограммы, содержащего рисунок. По умолчанию это
`25x21+2+0'.
- Ресурс: buttonColorKey (класс ColorKey)
-
Цветовой ключ @acronym{XPM} для использования в неактивных кнопках
(не находящихся под указателем мыши или нечувствительных). `c'
означает цвет, `g' (по умолчанию) означает градации серого, а
`m' -- монохромное изображение.
- Ресурс: flatToolbarButtons (класс FlatButtons)
-
Если это `on' (по умолчанию), все кнопки с рисунками или названиями
выглядят `плоскими' -- трехмерная рамка показывается, только когда на
пиктограмму заходит указатель мыши. Если это `off', трехмерная
рамка показывается всегда.
- Ресурс: flatDialogButtons (класс FlatButtons)
-
Если это `on' (по умолчанию), все кнопки диалоговых окон с
рисунками или названиями выглядят `плоскими' -- трехмерная рамка
показывается, только когда на пиктограмму заходит указатель мыши. Если
это `off', трехмерная рамка показывается всегда.
Панель команд -- это маленькое окно, дающее доступ к самым часто
используемым командам DDD. Его можно передвигать поверх окон DDD,
но можно и поместить отдельно от них.
По умолчанию панель команд прикрепляется к окну DDD с исходным
текстом: куда бы вы не передвинули это окно, панель команд последует за
ним, так что расстояние от окна исходного текста до панели команд
остается постоянным. Кроме того, по умолчанию панель команд
автоматически поднята, то есть всегда остается поверх других окон
DDD.
Панель команд можно настроить так, чтобы она отображалась в виде
командной полоски меню в верхней части окна исходника; смотрите
`Edit => Preferences => Source => Tool Buttons
Location' для получения подробностей.
Всякий раз при сохранении состояния DDD, запоминается также
расстояние от панели команд до окна исходного текста, так что вы можете
выбрать свое собственное предпочтительное расположение панели. Для
перемещения панели команд к сохраненной позиции используйте `View
=> Command Tool'.
Это кнопки панели команд. Заметьте, что некоторые кнопки могут быть
неактивными, в зависимости от текущего состояния и возможностей
подчиненного отладчика.
Run
-
Начать выполнение программы. Когда вы щелкаете на этой кнопке, ваша
программа сразу начинает выполняться. См. раздел 6. Запуск программы, для дополнительной
информации.
Interrupt
-
Прервать выполнение программы. Это эквивалентно посыланию процессу
сигнала прерывания. См. раздел 5.3 Прерывание, для дополнительной информации.
Step
-
Продолжить выполнение вашей программы до тех пор, пока управление не
достигнет другой исходной строки, затем остановить выполнение и вернуть
управление DDD. См. раздел 6.5 Продолжение выполнения, для дополнительной
информации.
Stepi
-
Выполнить одну машинную инструкцию, затем остановить программу и вернуть
управление DDD. См. раздел 8.2 Выполнение машинного кода, для дополнительной
информации.
Next
-
Продолжить до следующей исходной строки в текущем (самом внутреннем)
фрейме стека. Это аналогично `Step', но появляющиеся на текущей
строке вызовы функций выполняются без остановки. См. раздел 6.5 Продолжение выполнения, для дополнительной информации.
Nexti
-
Выполнить одну машинную инструкцию, но если это вызов функции,
продолжить до возврата из нее. См. раздел 8.2 Выполнение машинного кода, для
дополнительной информации.
Until
-
Продолжить выполнение до тех пор, пока не будет достигнута строка дальше
текущей, в пределах текущего фрейма стека. См. раздел 6.5 Продолжение выполнения, для дополнительной информации.
Finish
-
Продолжить выполнение до возврата функции текущего фрейма стека.
Напечатать возвращенное значение (если оно есть). См. раздел 6.5 Продолжение выполнения, для дополнительной информации.
Cont
-
Продолжить выполнение программы с того адреса, где она последний раз
остановилась; все установленные по этому адресу точки останова
пропускаются. См. раздел 6.5 Продолжение выполнения, для дополнительной
информации.
Kill
-
Уничтожить процесс отлаживаемой программы. См. раздел 6.11 Уничтожение программы, для дополнительной информации.
Up
-
Выбрать фрейм стека (то есть функцию), которая вызвала текущую. Это
переносит к более внешнему фрейму, к более высоким номерам фреймов, к
более старым фреймам. См. раздел 6.7 Исследование стека, для получения подробностей.
Down
-
Выбрать фрейм стека (то есть функцию), которая была вызвана из текущей.
Это переносит к более внутреннему фрейму, к более низким номерам
фреймов, к более новым фреймам. См. раздел 6.7 Исследование стека, для получения
подробностей.
Undo
-
Отменить последнее действие. Таким способом можно отменить почти все
команды. См. раздел 3.5 Отмена и возврат команд, для дополнительной информации.
Redo
-
Повторить последнее отмененное действие. Таким способом можно повторить
любую отмененную команду. См. раздел 3.5 Отмена и возврат команд, для дополнительной
информации.
Edit
-
Вызвать редактор для текущего исходного файла. См. раздел 9.1 Редактирование исходного кода, для получения подробностей.
Make
-
Запустить программу
make
с последними заданными аргументами.
См. раздел 9.2 Перекомпиляция, для дополнительной информации.
Панель команд можно по-разному настраивать.
См. раздел 10.4.1 Настройка кнопок, для получения информации о настройке командных
кнопок.
Вы можете выключить панель команд и вынести ее кнопки на отдельную
строку под полоской меню. Панель команд выключается установкой
`Edit => Preferences => Source => Tool Buttons
Location => Source Window'.
Вот соответствующие ресурсы:
- Ресурс: commandToolBar (класс ToolBar)
-
Показывать командные кнопки в панели инструментов над окном исходника
(`on') или на панели команд (`off', по умолчанию). Включение
командной панели инструментов выключает панель команд и наоборот.
Следующие ресурсы управляют позицией панели команд (см. раздел 3.6 Настройка DDD):
- Ресурс: autoRaiseTool (класс AutoRaiseTool)
-
Если это `on' (по умолчанию), DDD всегда будет держать панель
команд поверх других окон DDD. Если данная установка конфликтует с
вашим менеджером окон, или если менеджер окон все равно хранит панель
команд наверху, установите этот ресурс в `off'.
- Ресурс: stickyTool (класс StickyTool)
-
Если это `on' (по умолчанию), панель команд автоматически повторяет
любое перемещение окна исходного текста. Всякий раз при перемещении
окна исходника панель команд передвигается на такое же расстояние, так
что их относительное расположение остается неизменным. Если это
`off', панель команд не следует за перемещениями окна исходника.
- Ресурс: toolRightOffset (класс Offset)
-
Расстояние между правой границей панели команд и правой границей
исходного текста (в пикселях). По умолчанию это 8.
- Ресурс: toolTopOffset (класс Offset)
-
Расстояние между верхней границей панели команд и верхней границей
исходного текста (в пикселях). По умолчанию это 8.
Следующие ресурсы управляют оформлением панели команд
(см. раздел 3.6 Настройка DDD):
- Ресурс: decorateTool (класс Decorate)
-
Этот ресурс управляет оформлением панели команд.
-
Если это `off', панель команд создается в виде прозрачного
окна. Некоторые оконные менеджеры автоматически хранят прозрачные окна
поверх их родителей, что подходит для панели команд. Однако, может
оказаться, что ваш менеджер окон сконфигурирован таким образом, что
прозрачные окна не оформляются, а это означает, что вы не сможете легко
передвигать панель команд.
-
Если это `on', DDD отображает панель команд как окно
верхнего уровня. Такие окна всегда оформляются оконным менеджером.
Однако, окна верхнего уровня не сохраняются автоматически выше других
окон, поэтому вам также может пригодиться ресурс `autoRaiseTool'.
-
Если это `auto' (по умолчанию), DDD проверяет, оформляет ли
оконный менеджер прозрачные окна. Если да, панель команд отображается
как прозрачное окно (как при установке `off'); если нет, панель
команд отображается в виде окна верхнего уровня (как при установке
`on'). Таким образом, панель команд всегда оформляется "лучшим"
методом, но лишняя проверка занимает некоторое время.
В DDD есть обширная интерактивная справочная система. Здесь
описывается, как получить справку, работая в DDD.
-
Вы можете получить короткий справочный текст по большинству кнопок
DDD, просто наведя на них указатель мыши. Спустя секунду появится
небольшое окно (называемое подсказкой для кнопки или
всплывающей подсказкой), которое дает подсказку о назначении
кнопки. Подсказка исчезает, когда вы перемещаете указатель мыши к
другому объекту.
-
Строка состояния также показывает информацию о текущем выделенном
объекте. Щелкнув на строке состояния, вы можете просмотреть последние
сообщения.
-
Вы можете получить подробную справку по любому видимому объекту DDD.
Просто укажите на интересующий вас объект и нажмите клавишу F1.
Это выдаст подробный справочный текст.
-
Все диалоговые окна DDD содержат кнопки `Help', дающие подробную
информацию об этом диалоге.
-
Вы можете получить справку по командам отладчика, введя на приглашение
отладчика команду
help
. См. раздел 10.1 Ввод команд, для получения
подробностей о вводе команд.
-
Если вы окончательно застряли, попробуйте `Help => What
Now?' (пункт `What Now?' из меню `Help') или нажмите
Ctrl+F1. В зависимости от текущего состояния DDD даст вам
несколько подсказок о возможных дальнейших действиях.
-
Разумеется, вы всегда можете обратиться к интерактивной
документации:
-
`Help => DDD Reference' предоставляет доступ к
руководству по DDD, самому полному справочнику.
-
`Help => Debugger Reference' показывает интерактивную
документацию по подчиненному отладчику.
-
`Help => DDD WWW Page' предоставляет доступ к
последней информации о DDD.
-
Наконец, совет дня DDD дает важные сообщения при каждом вызове
DDD.
Все эти функции можно по-разному настраивать (см. раздел 3.6.2 Настройка справки DDD).
Если все-таки вы допустили ошибку, не беспокойтесь: почти все команды
DDD можно отменить. См. раздел 3.5 Отмена и возврат команд, для дополнительной
информации.
Почти любую команду DDD можно отменить, используя `Edit
=> Undo' или кнопку `Undo' из панели команд.
Аналогично, `Edit => Redo' повторяет последнюю отмененную
команду.
Меню `Edit' показывает, какие команды будут отменены или повторены
следующими; это также указывается во всплывающей справке для кнопок
`Undo' и `Redo'.
DDD контролируется несколькими ресурсами -- определяемыми
пользователем переменными, которым можно придавать особые значения для
управления поведением DDD и его настройки.
Большинство ресурсов DDD можно установить интерактивно, когда DDD
работает, или при запуске DDD. См. раздел Указатель ресурсов, полный
список ресурсов DDD.
Сначала мы обсудим работу настройки вообще; потом перейдем к настройке
тех частей DDD, о которых уже говорилось.
Подобно любой программе для X Windows, DDD может получить значения
ресурсов из нескольких источников. Для DDD, наиболее важными
являются такие:
-
Файл `~/.ddd/init' (`~' обозначает ваш начальный
каталог). DDD считывает этот файл при запуске; определенные в нем
ресурсы перекрывают все остальные источники (кроме ресурсов, неявно
заданных в аргументах командной строки).
Если установлена переменная среды
DDD_STATE
, вместо
`~/.ddd/' используется ее значение.
-
Файл ресурсов по умолчанию `Ddd'. Этот файл обычно
закомпилирован в исполняемый файл DDD. Если он существует, то
определяемые в нем значения ресурсов перекрывают закомпилированные
значения. Если версия файла ресурсов по умолчанию `Ddd' не
совпадает с версией исполняемого файла DDD, DDD может работать
неправильно; в таком случае вам выдадут предупреждение.(8)
-
Ключи командной строки. Эти ключи перекрывают все остальные установки
ресурсов.
-
Если установлена переменная среды
DDD_SESSION
, то она обозначает
имя сеанса, который следует начать, и перекрывает все ключи и ресурсы.
Это применяется, только когда DDD перезапускает сам себя.
Не для каждого ресурса есть соответствующий ключ командной строки.
Каждый ресурс (в файле `~/.ddd/init' или
`Ddd') определяется с помощью строки
Ddd*ресурс: значение
Например, чтобы установить ресурс `pollChildStatus' в значение
`off', вы написали бы в файле `~/.ddd/init' так:
Ddd*pollChildStatus: off
Подробности о синтаксисе спецификаций ресурсов вы можете найти в разделе
RESOURCES страницы man X(1).
Вы можете изменить ресурсы DDD тремя способами:
-
Использовать DDD для изменения параметров, а именно `Edit
=> Preferences'. Это работает для большинства важных ресурсов
DDD. Не забудьте сохранить параметры (см. раздел 3.6.1.3 Сохранение параметров), чтобы они применялись и к другим сеансам DDD.
-
Кроме того, вы можете вызывать DDD с подходящими ключами командной
строки. Это изменяет соответствующий ресурс для данного конкретного
экземпляра DDD. Однако, если вы сохраните параметры
(см. раздел 3.6.1.3 Сохранение параметров), измененный ресурс будет также
применяться к будущим вызовам.
-
И наконец, вы можете установить нужный ресурс в файле
`.ddd/init' в вашем начальном каталоге. См. раздел Указатель ресурсов, список ресурсов DDD.
Вы можете сохранить текущие установки параметров, выбрав `Edit
=> Save Options'. Параметры записываются в файл с именем
`.ddd/init' в вашем начальном каталоге. Если активен сеанс
сеанс, то параметры сохраняются в файле
`~/.ddd/sessions/сеанс/init'.
Справочную систему DDD можно по-разному настраивать.
Подсказки для кнопок помогают новичкам, но могут отвлекать опытных
пользователей. Вы можете выключить всплывающие подсказки через
`Edit => Preferences => General => Automatic
display of Button Hints => as Popup Tips'.
Вы можете также выключить подсказки, отображаемые в строке состояния.
Просто переключите `Edit => Preferences => General
=> Automatic Display of Button Hints => in the Status
Line'.
Вот соответствующие ресурсы DDD (см. раздел 3.6 Настройка DDD):
- Ресурс: buttonTips (класс Tips)
-
Если `on' (по умолчанию), подсказки для кнопок включены.
- Ресурс: buttonDocs (класс Docs)
-
Если `on' (по умолчанию), подсказки для кнопок отображаются в
строке состояния.
Вы можете выключить совет дня, переключив `Edit =>
Preferences => Startup => Startup Windows => Tip of
the Day'.
Соответствующий ресурс DDD (см. раздел 3.6 Настройка DDD):
- Ресурс: startupTips (класс StartupTips)
-
Если это `on' (по умолчанию), показывать совет дня при запуске
DDD.
См. раздел 2.1.2 Ключи DDD, как установить этот ресурс из командной строки при запуске
DDD.
Сами советы контролируются следующими ресурсами (см. раздел 3.6 Настройка DDD):
- Ресурс: startupTipCount (класс StartupTipCount)
-
Номер n совета дня, который следует показать при запуске.
Смотрите также ресурсы `tipn'.
- Ресурс: tipn (класс Tip)
-
Совет дня с номером n (строка).
DDD полагается на несколько внешних программ, которые задаются через
`Edit => Preferences => Helpers'.
Для декомпрессии справочных текстов вы можете определить команду
`Uncompress':
- Ресурс: uncompressCommand (класс UncompressCommand)
-
Команда для декомпрессии встроенного руководства по DDD, лицензии
DDD и новостей DDD. Принимает сжатый текст со стандартного ввода
и пишет разжатый текст на стандартный вывод. По умолчанию используется
gzip -d -c
; другие типичные значения включают zcat
и
gunzip -c
.
Для просмотра веб-страниц вы можете определить команду `Web
Browser':
- Ресурс: wwwCommand (класс WWWCommand)
-
Команда для запуска WWW-броузера. Строка `@URL@' заменяется
на @acronym{URL}, который нужно открыть. По умолчанию сначала пробуется
уже запущенный Netscape (
mozilla
, затем netscape
),
потом $WWWBROWSER
, потом DDD пытается запустить новый
процесс Netscape, потом пробуется запущенный Emacs, потом вызывается
Mosaic, а потом Lynx в xterm.
Чтобы указать в качестве броузера `netscape-4.0', используйте такую
установку:
Ddd*wwwCommand: \
netscape-4.0 -remote 'openURL(@URL@)' \
|| netscape-4.0 '@URL@'
Эта команда сначала пытается соединиться с работающим броузером
netscape-4.0
; если это не получается, она запускает новый процесс
netscape-4.0
.
Это WWW-страница, которая показывается по умолчанию командой
`Help ' DDD WWW Page:
- Ресурс: wwwPage (класс WWWPage)
-
WWW-страница DDD. Значение:
http://www.gnu.org/software/ddd/
Отмену команд можно настраивать в нескольких аспектах.
Чтобы установить максимальный размер буфера отмены, установите
`Edit => Preferences => General => Undo Buffer
Size'.
Это соответствует ресурсу `maxUndoSize':
- Ресурс: maxUndoSize (класс MaxUndoSize)
-
Максимальный объем памяти (в байтах) для буфера отмены. Полезно для
ограничения затрат памяти. Отрицательная величина означает, что
ограничения нет. По умолчанию принимается
2000000
, или 2000
килобайт.
Вы можете также ограничить число вхождений в буфере отмены,
безотносительно его размера (см. раздел 3.6 Настройка DDD):
- Ресурс: maxUndoDepth (класс MaxUndoDepth)
-
Максимальное число вхождений в буфере отмены. Это ограничивает
количество действий, которые можно будет отменить, и количество
показываемых состояний в историческом режиме. Полезно для ограничения
затрат памяти. Отрицательная величина (по умолчанию) означает, что
ограничения нет.
Чтобы очистить буфер отмены в любое время, уменьшив таким образом объем
занятой памяти, используйте `Edit => Preferences =>
General => Clear Undo Buffer'.
Окна DDD можно по-разному настраивать.
Вы можете выключить заставку, которая показывается при запуске. Для
этого просто выберите `Edit => Preferences => Startup
DDD Splash Screen'.
Это значение применяется только к следующему запуску DDD.
С этой установкой связан следующий ресурс:
- Ресурс: splashScreen (класс SplashScreen)
-
Если `on' (по умолчанию), показывать при запуске заставку DDD.
Вы можете также управлять внешним видом заставки (см. раздел 3.6 Настройка DDD):
- Ресурс: splashScreenColorKey (класс ColorKey)
-
Цветовой ключ для заставки DDD. Возможные значения включают:
-
`c' (по умолчанию) цветное изображение,
-
`g' много градаций серого,
-
`g4' четыре градации серого,
-
`m' монохромное изображение.
-
`best' подбирает наилучший вариант для вашего дисплея.
Пожалуйста, обратите внимание: если DDD работает на монохромном
дисплее, или если DDD был скомпилирован без библиотеки @acronym{XPM},
может отображаться только монохромная версия (`m').
По умолчанию DDD объединяет команды, исходный код и данные в единое
окно верхнего уровня. Чтобы получить отдельные окна верхнего уровня для
исходника, данных и консоли отладчика, установите `Edit =>
Preferences => Startup => Window Layout => Separate
Windows'.
Соответствующие ресурсы DDD:
- Ресурс: separateDataWindow (класс Separate)
-
Если это `on', окно данных и консоль отладчика отображаются в виде
отдельных окон верхнего уровня. Если это `off' (по умолчанию),
окно данных соединено с консолью отладчика.
- Ресурс: separateSourceWindow (класс Separate)
-
Если это `on', окно исходника и консоль отладчика отображаются в
виде отдельных окон верхнего уровня. Если это `off' (по
умолчанию), окно исходника соединено с консолью отладчика.
По умолчанию панели инструментов DDD располагаются в верхней части
окна. Если вы предпочитаете, чтобы они находились внизу, как в DDD
2.x и более ранних версиях, установите `Edit => Preferences
=> Startup => Tool Bar Appearance => Bottom'.
С этой установкой связан ресурс `toolbarsAtBottom':
- Ресурс: toolbarsAtBottom (класс ToolbarsAtBottom)
-
Помещать панели инструментов для исходного кода и данных вверху,
соответственно, исходного кода и данных (`off', по умолчанию) или
внизу, как в DDD 2.x (`on').
Размещение внизу поддерживается только для отдельных панелей
инструментов -- то есть, вы должны либо выбрать раздельные окна, либо
сконфигурировать панель инструментов так, чтобы в ней не было ни
рисунков, ни названий (см. раздел 3.2.1 Настройка панели инструментов).
Если вы используете соединенные окна, вы можете сделать одну панель
инструментов или две. По умолчанию DDD создает две панели
инструментов при использовании раздельных окон и выключенных названиях и
рисунках, но вы также можете явно изменить данную установку через такой
ресурс:
- Ресурс: commonToolBar (класс ToolBar)
-
Показывать кнопки панели инструментов в одной общей панели вверху общего
окна DDD (`on', по умолчанию), или помещать их в двух различных
панелях инструментов, одной для операций с данными, а другой для
операций с исходным текстом, как в DDD 2.x (`off').
Вы также можете изменить позицию строки состояния
(см. раздел 3.6 Настройка DDD):
- Ресурс: statusAtBottom (класс StatusAtBottom)
-
Если это `on' (по умолчанию), строка состояния помещается внизу
окна DDD для исходного кода. Если это `off', она помещается
вверху этого окна (как в DDD 1.x).
См. раздел 2.1.2 Ключи DDD, как установить эти ресурсы из командной строки при запуске
DDD.
Вы можете конфигурировать основные шрифты DDD в время работы. Каждый
шрифт задается с помощью двух элементов:
-
Семейство шрифтов -- это спецификация шрифтов X, где начальную
часть `производитель-' можно опустить, как и любую часть
после семейства. Таким образом, обычно достаточно пары
`семейство-насыщенность'.
-
Размер шрифта задается в (независящих от разрешения) десятых долях
пункта.
Чтобы указать шрифты, выберите `Edit => Preferences
=> Fonts'.
Кнопка `Browse' открывает программу выбора шрифтов, где вы можете
интерактивно подбирать шрифты и их атрибуты. Щелчок на `quit' или
`select' передает все отличающиеся от принимаемых по умолчанию
значения в панель настройки шрифтов DDD.
Используя эту панель, можно установить следующие шрифты:
Default Font
-
Шрифт DDD по умолчанию, используемый для меток, меню и кнопок. По
умолчанию это `helvetica-bold'.
Variable Width
-
Пропорциональный шрифт DDD, используемый для справочного текста и
сообщений. По умолчанию это `helvetica-medium'.
Fixed Width
-
Равноширинный шрифт DDD, используемый для исходного кода, консоли
отладчика, текстовых полей, отображений данных и окна выполнения. По
умолчанию это `lucidatypewriter-medium'.
Изменения в этой панели не имеют мгновенного эффекта. Вы можете
-
сохранить параметры (с помощью `Edit => Save Options'),
чтобы задействовать изменение в будущих сеансах DDD,
-
или перезапустить DDD (с помощью `File => Restart
DDD'), чтобы задействовать их во вновь созданном сеансе.
Когда в этой панели делаются изменения, DDD автоматически предложит
вам перезапустить себя, чтобы эти изменения подействовали. Заметьте,
что даже после перезапуска вы должны будете сохранить параметры, чтобы
ваши изменения стали постоянными.
Кнопка `Reset' восстанавливает последние сохраненные предпочтения.
Вот ресурсы, связанные с заданием шрифтов:
- Ресурс: defaultFont (класс Font)
-
Шрифт DDD по умолчанию, используемый для меток, меню, кнопок, etc.
Этот шрифт задается в виде спецификации шрифта X, где начальная часть
производитель может быть опущена, как и любая часть после
семейства.
Значение по умолчанию -- `helvetica-bold'.
Чтобы установить шрифт DDD по умолчанию равным, скажем,
`helvetica medium', вставьте строку
Ddd*defaultFont: helvetica-medium
в ваш файл `~/.ddd/init'.
- Ресурс: defaultFontSize (класс FontSize)
-
Размер шрифта DDD по умолчанию, в десятых долях пункта. Этот ресурс
перекрывает любую спецификацию размера шрифта из ресурса
`defaultFont' (смотрите выше). Значение по умолчанию равно
120
, что задает двенадцатипунктовый шрифт.
- Ресурс: variableWidthFont (класс Font)
-
Пропорциональный шрифт DDD, используемый для справочного текста и
сообщений. Этот шрифт задается в виде спецификации шрифта X, где
начальная часть производитель может быть опущена, как и любая
часть после семейства.
Значение по умолчанию равно `helvetica-medium-r'.
Чтобы установить семейство пропорционального шрифта DDD равным,
скажем, `times', вставьте строку
Ddd*fixedWidthFont: times-medium
в ваш файл `~/.ddd/init'.
- Ресурс: variableWidthFontSize (класс FontSize)
-
Размер пропорционального шрифта DDD, в десятых долях пункта. Этот
ресурс перекрывает любую спецификацию размера шрифта из ресурса
`variableWidthFont' (смотрите выше). Значение по умолчанию равно
120
, что задает двенадцатипунктовый шрифт.
- Ресурс: fixedWidthFont (класс Font)
-
Равноширинный шрифт DDD, используемый для исходного кода, консоли
отладчика, текстовых полей, отображений данных и окна выполнения. Этот
шрифт задается как спецификация шрифта X, где начальная часть
производитель может быть опущена, как и любая часть после
семейства.
Значение по умолчанию -- `lucidatypewriter-medium'.
Чтобы установить семейство равноширинного шрифта DDD равным, скажем,
`courier', вставьте строку
Ddd*fixedWidthFont: courier-medium
в ваш файл `~/.ddd/init'.
- Ресурс: fixedWidthFontSize (класс FontSize)
-
Размер равноширинного шрифта DDD, в десятых долях пункта. Этот
ресурс перекрывает любую спецификацию размера шрифта из ресурса
`fixedWidthFont' (смотрите выше). Значение по умолчанию равно
120
, что задает двенадцатипунктовый шрифт.
Поскольку все ресурсы для задания размеров шрифтов принадлежат одному
классу (и по умолчанию имеют одинаковое значение), вы можете легко
изменить размер шрифта DDD по умолчанию на, скажем, 9.0 пунктов,
вставив строку
Ddd*FontSize: 90
в свой файл `~/.ddd/init'.
Команда для выбора шрифтов задается так:
- Ресурс: fontSelectCommand (класс FontSelectCommand)
-
Команда для выбора шрифта из списка. Строка `@FONT@' заменяется
на текущий шрифт DDD по умолчанию; строка `@TYPE@' заменяется
на символьное имя редактируемого шрифта DDD. Эта программа должна
либо поместить имя выбранного шрифта в первичное выделение, либо
напечатать его на стандартный вывод. Типичное значение такое:
Ddd*fontSelectCommand: xfontsel -print
См. раздел 2.1.2 Ключи DDD, как установить эти ресурсы из командной строки при запуске
DDD.
Когда окна объединены, как в установке по умолчанию, вы можете включать
и выключать отдельные окна DDD переключая соответствующие пункты меню
`View' (см. раздел 3.1.3 Меню View). При использовании раздельных окон
см. раздел 3.6.4.2 Размещение окон) вы можете закрывать их через `File
=> Close' или с помощью вашего оконного менеджера.
Следующие ресурсы управляют тем, открыты окна или нет при запуске
DDD. Эти ресурсы непосредственно привязаны к пунктам меню
`View':
- Ресурс: openDataWindow (класс Window)
-
Если это `off' (по умолчанию), окно данных при запуске закрыто.
- Ресурс: openDebuggerConsole (класс Window)
-
Если это `off', консоль отладчика при запуске закрыта.
- Ресурс: openSourceWindow (класс Window)
-
Если это `off', окно исходного кода при запуске закрыто.
См. раздел 2.1.2 Ключи DDD, как установить эти ресурсы из командной строки при запуске
DDD.
Текстовые поля DDD можно настраивать с помощью следующих ресурсов:
- Ресурс: popdownHistorySize (класс HistorySize)
-
Максимальное число пунктов во всплывающих меню истории значений.
Величина
0
(по умолчанию) означает, что ограничения нет.
- Ресурс: sortPopdownHistory (класс SortPopdownHistory)
-
Если это `on' (по умолчанию), пункты всплывающих меню истории
значений отсортированы по алфавиту. Если это `off', выше
появляются недавно использованные значения.
Если вы часто переключаетесь между DDD и другими многооконными
приложениями, вы можете захотеть установить `Edit =>
Preferences => General => Iconify all windows at once'.
Тогда все окна DDD сворачиваются и разворачиваются вместе.
Это привязано к такому ресурсу:
- Ресурс: groupIconify (класс GroupIconify)
-
Если это `on', при сворачивании (разворачивании) любого окна DDD
все остальные окна DDD также сворачиваются (разворачиваются). По
умолчанию `off', это означает, что окна DDD можно сворачивать по
отдельности.
Если вы хотите убирать DDD с рабочего стола во время долгих
вычислений, вы можете установить `Edit => Preferences
=> General => Uniconify when ready'. Тогда можно будет
свернуть DDD на время, пока он занят выполнением команды (например,
прогоном программы); DDD автоматически развернется, когда станет
готов принимать другие команды (например, после того, как отлаживаемая
программа достигнет точки останова). См. раздел 6.4 Остановы программы,
обсуждение этой темы.
Связанный с этой установкой ресурс:
- Ресурс: uniconifyWhenReady (класс UniconifyWhenReady)
-
Если это `on' (по умолчанию), окна DDD автоматически
разворачиваются, когда GDB готов принимать команды. При этом вы
можете свернуть DDD во время какой-то долгой операции, и он сам
автоматически развернется, когда программа остановится. Установка этого
ресурса в значение `off' оставляет все окна DDD свернутыми.
Вы можете добавлять в DDD новые кнопки. См. раздел 10.4 Определение кнопок,
для получения подробностей.
Вы можете изменить буквально любую метку, цвет, привязку клавиши и так
далее, изменяя ресурсы из файла `Ddd', который поставляется с
дистрибутивом исходного кода DDD. Это работает так:
-
Найдите нужный ресурс в файле `Ddd'.
-
Скопируйте строку этого ресурса в ваш файл `~/.ddd/init' и
измените ее по своему вкусу.
См. раздел A. Ресурсы по умолчанию, подробности о файле ресурсов по умолчанию.
Вы можете изменить внутренние установки для большинства подчиненных
отладчиков с помощью `Edit => Settings'. Используя редактор
установок, можно определить, следует ли приводить к обычному виду имена
в Си++, сколько элементов массива нужно печатать и так далее.
Возможности редактора установок зависят от возможностей вашего
подчиненного отладчика. Щелчок на `?' даст объяснение отдельных
пунктов; более подробные сведения можно найти в документации на GDB.
Для отмены изменений используйте `Edit => Undo'. Щелчок на
`Reset' восстанавливает последние сохраненные установки.
Некоторые установки отладчика нечувствительны, и их нельзя изменить,
поскольку это подвергло бы опасности работоспособность DDD. Для
получения подробностей смотрите описания ресурсов `gdbInitCommands'
и `dbxInitCommands'.
Все установки отладчика (кроме путей исходных и объектных файлов)
сохраняются вместе с параметрами DDD.
[Содержание] [Назад] [Пред] [Вверх] [След] [Вперед]
Используются технологии
uCoz