Точки останова позволяют вам приостановить исполнение программы. Когда исполнение программы будет приостановлено, вы можете проверить значения переменных и свойств, посмотреть установки среды и исследовать разделы кода построчно без необходимости прохождения через весь ваш программный код.
![]() |
---|
Вы, кроме того, можете приостановить исполнение программы, запущенной в окне Trace (Трассировка) нажатием клавиши ESC. |
Suspending Execution at a Line of Code (Приостановка исполнения на строке кода)
Вы можете в вашем программном коде установить точки останова для приостановки исполнения программ несколькими различными способоами. Если вы знаете, где вы желаете приостановить исполнение программы, вы можете установить точку останова на этой строке кода.
Чтобы установить точку останова на конкретной строке кода
-
В окне Trace (Трассировка) найдите строку кода, на которой вы желаете установить точку останова.
-
Установите на эту строку курсор.
-
Выполните одно из приведенного ниже:
-
выполните двойной щелчок в серой области слева от строки кода;
-
в полоске инструментов Debugger (Отладчика) щелкните по командной кнопке Toggle Breakpoints (Переключить точку останова);
-
нажмите F9.
-
Слева от строки кода в серой области появится большая точка, указывающая, что на этой строке установлена точка останова.
![]() |
---|
Если вы отлаживаете объекты, вы можете найти конкретные строки кода в окне Trace (Трассировки) выбрав объект из выпадающего списка Object (Объект), а также метод или событие из выпадающего списка Procedure (Процедура). |
Вы, кроме того, можете установить точки останова указанием размщений и файлов в диалоговом окне Breakpoints (Точки останова).
Размещение | Файл | Где будет приостановлено исполнение |
---|---|---|
|
C:\Myapp\Main.prg |
На первой исполнимой строке в процедуре с именем |
|
C:\Myapp\Main.prg |
На десятой исполнимой строке в программе с именем |
|
C:\Myapp\Form.scx |
На первой исполнимой строке любой процедуры, функции, метода или события с именем |
|
C:\Myapp\Form.scx |
На первой исполнимой строке, ассоциированной с событием Click объекта |
|
|
На первой исполнимой строке в событии Click любого элемента управления, чьим родительским классом (ParentClass) является
|
Приостановка исполнения при изменении значения
Если вы желаете знать, когда будет изменено значение переменной или свойства, или когда будет изменено условие в run-time, вы можете установить точку останова на выражении.
Чтобы установить точку останова на момент изменения значения или выражения
-
В меню Tools (Инструменты) в окне Debugger (Отладичка) выберите Breakpoints (точки останова) для вывода диалогового окна Breakpoints (Точки останова).
-
Из списка Type (Тип) выберите Break when expression has changed (Остановить при изменении выражения).
-
Введите выражение в боксе Expression (Выражение).
Выражение | Используется |
---|---|
|
для приостановки исполнения, когда указатель записи смещается в таблице. |
|
для приостановки исполнения на первой строке любой новой программы, процедуры, метода или события. |
|
для приостановки исполнения в любое время, когда значение этого свойства изменяется интерактивно или программно. |
Приостановка исполнения по условию
Достаточно часто появляется желание приостановить исполнение программы не на конкретной строке кода, а в случае, когда определенное выражение оценивается в истину (true).
Чтобы приостановить исполнение программы, когда выражение оцентивается в true
-
В меню Tools (Инструменты) в окне Debugger (Отладичка) выберите Breakpoints (точки останова) для вывода диалогового окна Breakpoints (Точки останова).
-
Из списка Type (Тип) выберите Break when expression is true (Остановить при оценке выражения в true).
-
В боксе Expression (Выражение) введите желаемое выражение.
-
Щелкните по Add для добавления точки останова в список Breakpoints (Точки останова).
Выражение | Используется |
---|---|
|
для пристановки исполнения, когда указатель записи переместился за последнюю запись в таблице. |
|
для пристановки исполнения на первой строке кода, ассоциированного с событием Click или DblClick. |
|
Если возвращаемое значение из окна сообщения (messagebox) сохраняется в переменной |
Приостановка исполнения по условию на строке кода
Вы можете указать, что исполнение программы будет приостановлено на конкретной строке кода только в том случае, когда конкретное выражение будет оценено в true.
Чтобы приостановить исполнение на конкретной строке кода при оценке выражения в true
-
В меню Tools (Инструменты) в окне Debugger (Отладичка) выберите Breakpoints (точки останова) для вывода диалогового окна Breakpoints (Точки останова).
-
Из списка Type (Тип) выберите Break at location if expression is true (Остановить в месте, где выражение будет оценено в true).
-
Укажите место в боксе Location (Размещение).
-
В боксе Expression введите желаемое выражение.
-
Щелкните по Add для добавления точки останова в список Breakpoints (Точки останова).
-
Щелкните по OK.
Советы
Иногда проще найти строку кода в окне Trace (Трассировка), установить точку останова, а лишь затем отредактировать ее в диалоговом окне Breakpoints (точки останова). Для редактирования изменение Type (Тип) из Break at location в Break at location if expression is true и затем введите выражение.
Removing Breakpoints (Удаление точек останова)
Вы можете запретить точки останова без удаления их в диалоговом окне Breakpoints (Точки останова). Вы можете удалить точки останова типа "break at location" в окне трассировки - Trace.
Чтобы удалить точки останова из строки кода
-
В окне Trace (Трассировка) найдите точку останова и выполните одно из приведенного ниже:
-
установите курсор на строку кода и затем в полоске инструментов Debugger (Отладчика) щелкните по командной кнопке Toggle Breakpoints (Переключить точку останова);
- или -
-
выполните двойной щелчок в серой области слева от строки кода.
-
Смотрите также
Задачи
Как: использовать Debugger (Отладчик)Как: посмотреть хранимые значения
Справочное руководство
Отображение выводаОкно Trace (Трассировка)
Окно Debugger (Отладчик)