Лекция: Методы отладки.
1. Выполнение по шагам и трассировка. Команды выполнения по шагам Step Over и трассировки Trace Into меню выполнения Run дают вам возможность построчного выполнения программы. Единственное отличие выполнения по шагам и трассировки состоит в том, как они работают с вызовами процедур и функций. Выполнение по шагам вызова процедуры или функции интерпретирует вызов как простой оператор и после завершения подпрограммы возвращает управление на следующую строку. Трассировка подпрограммы загружает код этой подпрограммы и продолжает ее построчное выполнение.
2. Остановка выполнения. Существует два способа сообщить IDE, что программу нужно выполнить до определенной точки, а затем остановить. Первый и простейший способ состоит в том, чтобы найти позицию в программе, где вы хотите остановиться, затем выбрать в меню Run команду Go to Cursor (Выполнение до позиции курсора). Ваша программа выполняется как обычно, пока не достигнет оператора, где она должна остановиться. В этой точке вы можете проверить значения и продолжать выполнение непрерывно или по шагам. Второй способ состоит в том, чтобы остановить в определенной заданной точке вашу программу. Эта точка называется точкой останова. Когда вы выполняете программу, она останавливается перед выполнением оператора в точке останова. Точки останова – это более гибкий механизм, чем использование метода выполнения до позиции курсора (Go to Cursor), поскольку в программе вы можете установить несколько точек останова.
В Turbo Pascal с помощью клавиш быстрого вызова команд (оперативных клавиш) можно выполнять определенные функции или команды интегрированной среды.
В табл.1-4 перечислены клавиши быстрого вызова, наиболее часто применимые при разработке программ в Turbo Pascal.
Таблица 1. Общие оперативные клавиши Turbo Pascal
Элемент меню | Клавиши | Функция |
Help | F1 | Показывает экран подсказки. |
File/Save | F2 | Сохраняет файл, находящийся в активном окне редактора. |
File/Open | F3 | Загрузить файл с помощью окна диалога. |
Run/Go to Cursor | F4 | Запускает программу до строки, на которой стоит курсор. |
Window/Zoom | F5 | Масштабирует активное окно. |
Window/Next | F6 | Проходит через все открытые окна. |
Run/Trace Into | F7 | Запускает программу в режиме отладки с заходом внутрь процедур. |
Run/Step Over | F8 | Запускает программу в режиме отладки, минуя вызовы процедур. |
Compile/Make | F9 | Создает выполняемый файл. |
(none) | F10 | Переключает между основным меню и активным окном. |
Таблица 2. Оперативные клавиши отладки/запуска.
Элемент меню | Клавиши | Функция |
Compile/Compile | Alt-F9 | Компилирует последний файл в редакторе. |
Run/Program Reset | Ctrl-F2 | Переустанавливает выполняемую программу. |
Debug/ Evaluate/ Modify | Ctrl-F4 | Вычисляет выражение. |
Debug/Add Watch | Ctrl-F7 | Добавляет выражение для просмотра. |
Debug/Toggle BreakPoint | Ctrl-F8 | Устанавливает или очищает условные точки прерывания. |
Run/Run | Ctrl-F9 | Запускает программу. |
Run/Go To Cursor | F4 | Запускает программу до позиции курсора. |
Run/Trace Into | F7 | Выполняет прослеживание внутри процедур. |
Run/Step Over | F8 | Осуществляет перескакивание через вызовы процедур. |
Compile/Make | F9 | Выполняет Make (компилирует/редактирует связи) программы. |
Таблица 3. Оперативные клавиши управления окнами.
Элемент меню | Клавиши | Функция |
(none) | Alt-# | Показывает окно, где # – номер окна, которое вы хотите посмотреть. |
Window/List | Alt-0 | Показывает список открытых окон. |
Window/Close | Alt-F3 | Закрывает активное окно. |
Window/User Screen | Alt-F5 | Показывает экран пользователя. |
Window/Previous | Shift-F6 | Проходит назад через все открытые окна. |
Window/Zoom | F5 | Увеличивает/уменьшает активное окно. |
Window/Next | F6 | Проходит вперед через все активные окна. |
Window/Size/Move | Ctrl-F5 | Изменяет размер или позицию активного окна. |
Таблица 4. Оперативные клавиши редактирования.
Элемент меню | Клавиши | Функция |
(none) | Shift-¯ | Выделение строчного фрагмента |
(none) | Shift-® | Выделение блока символов в строке |
Edit/Clear | Ctrl-Del | Удаляет выбранный текст из окна и не помещает его в буфер обмена. |
Edit/Copy | Ctrl-Ins | Копирует выбранный текст в буфер обмена. |
Edit/Cut | Shift-Del | Помещает выбранный текст в буфер и удаляет его. |
Edit/Paste | Shift-Ins | Помещает текст из буфера в активное окно. |