Трассировка вызовов процедур




После прерывания выполнения программы в процессе ее отладки можно использовать окно диалога Call Stack (Стек вызова), представленное на рис. 6.7. В нем выводится список процедур, которые были запущены, но не завершены.

Рис 6.7 Окно диалога Call Stack


Для вызова этого окна сначала необходимо прервать выполнение программы, а затем выполнить команду View→Call Stack (Вид→Стек вызова) или нажать кнопку Call Stack (Стек вызова) на панели инструментов Debug (Отладка).

В этом окне диалога все вызванные процедуры отображаются в обратном порядке: первой выводится последняя вызванная процедура, потом следует процедура, вызванная перед ней, и т. д.

Процедура удаляется из списка после того, как управление передается вызвавшей ее процедуре.

Для идентификации инструкции, вызывающей следующую процедуру, нажмите кнопку Show (Показать). Это приводит к закрытию окна диалога Call Stack (Стек вызова) с последующей установкой курсора на строку, содержащую вызов данной процедуры.

Окно Immediate

Окно Immediate (Проверка), приведенное на рис. 6.8, позволяет вводить инструкции и сразу же выполнить их путем нажатия клавиши Enter. При этом инструкция должна быть записана в одну строку. Чтобы вызвать это окно, необходимо выполнить команду View→Immediate Window (Вид→Окно отладки) или нажать кнопку Immediate Window (Окно отладки) на панели инструментов Debug (Отладка).

Рис 6.8 Окно Immediate

Данное окно можно применять, например, для быстрой проверки действий, выполняемых в результате применения той или иной инструкции.

Если интегрированная среда разработки находится в режиме прерывания, то инструкция в окне отладки выполняется в контексте процедуры, указанной в поле со списком Procedure (Процедура) в окне программы.

Чтобы отобразить результат выполнения инструкции, достаточно напечатать перед выполняемой инструкцией знак вопроса (рис. 6.8) или ключевое слово Print.

Меню Debug

Меню Debug (Отладка) содержит команды, позволяющие производить отладку программ. Ниже рассмотрены все эти команды.

Команда Compile

Команда Compile(Компилировать) компилирует проект.

Команда Step Into

Команда Step Into (Шаг с заходом) предназначена для выполнения одной инструкции программы. В зависимости от состояния среды разработки она может выполнять различные действия:

· В режиме конструирования формы данная команда начинает выполнение программы и переводит интегрированную среду разработки в режим прерывания.

· В случае если интегрированная среда разработки находится в режиме выполнения программы, то запуск команды Step Into (Шаг с заходом) приводит к остановке программы в текущей позиции.

· Если текущая инструкция вызывает процедуру, то отображается первая инструкция вызываемой процедуры.

ВНИМАНИЕ: Возможно ситуация, когда в конкретный момент времени не выполняется ни одна из инструкций. В этом случае выполнение команды Step Into (Шаг с заходом) не приводит ни к каким результатам до тех пор, пока не будет выполнено какое-либо действие, приводящее к выполнению некоторой инструкции (например, щелчок мышью на кнопке формы).

Команда Step Over

Команда Step Over (Шаг с обходом) похожа на команду Step Into (Шаг с заходом). Она тоже выполняет одну инструкцию программы. Однако при выполнении инструкции, содержащей вызов процедуры, она выполняет вызываемую процедуру как единое целое и после этого переходит к следующей инструкции в текущей процедуре.

ПРИМЕЧАНИЕ: В отличие от предыдущей команда Step Over (Шаг собходом) доступно только в режиме прерывания.

Команда Step Out

Команда Step Out (Шаг с выходом) выполняет все расположенные за текущей строкой процедуры как единую инструкцию. После этого она устанавливает точку выполнения на инструкцию, следующую за вызовом процедуры. Данная команда доступна только в режиме прерывания.

ПРИМЕЧАНИЕ: Под точкой выполнения понимается помеченная определенным цветом строка, напротив которой в поле полосы индикатора находится специальный значок.

Команда Run To Cursor

Команда Run To Cursor (Выполнить до текущей позиции) позволяет выполнить программу до инструкции, в которой установлен курсор, после чего выполнение программы будет приостановлено. Данную команду удобно использовать, например, для пропуска циклов.

Команда Add Watch

Команда Add Watch (Добавить контрольное значение) вызывает окно диалога Add Watch (Добавление контрольного значения). Используя это окно, вы можете ввести выражение, значение которого необходимо контролировать. Контрольные выражения обновляются в окне отладки всякий раз, когда среда разработки переходит в режим прерывания.

Команда Edit Watch

Команда Edit Watch (Изменить контрольное значение) открывает окно диалога Edit Watch (Изменение контрольного значения), которое позволяет изменить или удалить контрольное выражение. Данная команда доступна, если было добавлено хотя бы одно контрольное значение.

Команда Quick Watch

Команда Quick Watch (Контрольное значение) выводит одноименное окно диалога, которое содержит текущее значение выбранного выражения. Данное окно диалога (рис. 6.9) может использоваться для быстрого просмотра значения выражения, выбранного в окне программы или в окне отладки.

ПРИМЕЧАНИЕ: Напанели инструментов Debug (Отладка) присутствует кнопка Quick Watch (Контрольное значение), которая реализует быстрый доступ к одноименной команде.

ПРИМЕЧАНИЕ: Окно диалога Quick Watch (Контрольное значение) может использоваться также и для добавления контрольного значения. Для этого необходимо нажать кнопку Add (Добавить).



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-04-26 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: