Вы позволяете отладить для графика Stateflow®, когда вы устанавливаете breakpoint. Точка останова является точкой на диаграмме Stateflow, которая приостанавливает симуляцию, таким образом, можно исследовать состояние графика. В то время как симуляция приостановлена, можно просмотреть данные Stateflow, взаимодействовать с рабочей областью MATLAB® и продвинуться посредством симуляции. Для получения дополнительной информации смотрите Отладку диаграмм Stateflow.
Точки останова появляются как круговые красные значки. Например, этот график содержит точки останова на upshifting
состояние и переход от steady_state
к upshifting
.
Можно установить точки останова на графиках, состояниях, переходах, графических или функции таблицы истинности и события.
Чтобы установить точку останова на графике, щелкните правой кнопкой в графике и выберите Set Breakpoint on Chart Entry. Этот тип точки останова приостанавливает симуляцию прежде, чем ввести график.
Чтобы удалить точку останова, щелкните правой кнопкой в графике и очистите опцию Set Breakpoint on Chart Entry.
Можно установить различные типы точек останова на состояниях и переходах.
Объект | Установите точки останова тип |
---|---|
Состояние |
|
| |
| |
Переход |
|
|
Чтобы установить точку останова на состоянии или переходе, щелкните правой кнопкой по состоянию или переходу и выберите Set Breakpoint. Для состояний точками останова по умолчанию является On State Entry
и During State
. Для переходов точкой останова по умолчанию является When Transition is Valid
. Чтобы изменить тип точки останова, кликните по значку точки останова и выберите различную настройку точек останова. Для получения дополнительной информации смотрите Типы Точки останова Изменения.
Чтобы удалить точку останова, щелкните правой кнопкой по состоянию или переходу и выберите Clear Breakpoint.
Чтобы установить точку останова на графической функции или функции таблицы истинности, щелкните правой кнопкой по функции и выберите Set Breakpoint During Function Call. Этот тип точки останова приостанавливает симуляцию прежде, чем вызвать функцию.
Чтобы удалить точку останова, щелкните правой кнопкой по функции и очистите опцию Set Breakpoint During Function Call.
Можно выбрать два типа точек останова на событиях:
Start of Broadcast
— Приостановите симуляцию прежде, чем широковещательно передать событие.
End of Broadcast
— Приостановите симуляцию после того, как объект Stateflow считает событие.
Доступные точки останова зависят от осциллографа события.
Осциллограф события | Запустите широковещательной передачи | Конец широковещательной передачи |
---|---|---|
Local | Доступный | Доступный |
Input | Доступный | Не доступный |
Output | Не доступный | Не доступный |
Чтобы установить или ясные точки останова на событии, используйте Property Inspector или Model Explorer, чтобы изменить свойства Debugger Breakpoints. Для получения дополнительной информации смотрите Точки останова Отладчика.
Значок точки останова может представлять больше чем один тип точки останова. Чтобы видеть подсказку, которая перечисляет типы точки останова, которые установлены на объекте Stateflow, укажите на его значок. В этом примере, значке на upshifting
состояния представляет два типа точки останова:
On State Entry
и During State
.
Чтобы изменить тип точки останова на объекте, кликните по значку точки останова. В диалоговом окне Breakpoints можно выбрать различную настройку точек останова, в зависимости от типа объекта.
Очистка всех флажков в диалоговом окне Breakpoints удаляет точку останова.
Чтобы ограничить число раз что остановки симуляции в точке останова, добавьте условие в точку останова. По умолчанию диаграмма Stateflow делает паузу каждый раз, когда она достигает точки останова. Когда вы добавляете условие в точку останова, график делает паузу в точке останова только, когда условие верно.
Добавить условие в точку останова:
На вкладке Debug нажмите Breakpoints List, чтобы открыть окно Stateflow Breakpoints и Watch. В качестве альтернативы можно открыть окно Breakpoints и Watch путем щелчка по ссылке Breakpoints List в диалоговом окне Breakpoints.
Выберите вкладку Breakpoints. Вкладка Breakpoints перечисляет все точки останова в графике. Для получения дополнительной информации смотрите, Управляют Точками останова Через Точки останова и Смотрят Window.
В соответствии со столбцом Condition, введите условие для точки останова. Можно использовать любое допустимое выражение MATLAB, которое комбинирует численные значения и объекты данных Stateflow, которые находятся в осциллографе в точке останова.
Примечание
Вы не можете использовать данные о сообщении в выражении условия точки останова.
Например, этот график имеет точку останова на переходе от steady_state
к upshifting
. Эта точка останова останавливает симуляцию каждый раз, когда переход тестируется, даже если значение speed
далеко ниже up_th
.
Чтобы смотреть график перед, переход взят, вы хотите, чтобы точка останова приостановила симуляцию только когда значение speed
приближается к значению up_th
. Когда вы устанавливаете условие speed > up_th-2
на точке останова симуляция делает паузу только когда значение speed
в 2 из значения up_th
.
Когда симуляция делает паузу, можно смотреть значения переменных speed
и up_th
и продвиньтесь посредством симуляции. Для получения дополнительной информации смотрите, Смотрят и Изменяют Данные и сообщения В то время как Отладка и Выполнение Диаграммы управления После Точки останова.
Можно управлять всеми точками останова в графике в окне Stateflow Breakpoints и Watch. Чтобы открыть окно Breakpoints и Watch, на вкладке Debug, нажимают Breakpoints List. В качестве альтернативы откройте диалоговое окно Breakpoints и щелкните по ссылке Breakpoints List.
Чтобы видеть список всех точек останова и их связанных условий, выберите вкладку Breakpoints.
Чтобы смотреть данные и значения сообщения, выберите вкладку Watch. Для получения дополнительной информации Данные о виде на море в Точках останова и Смотрят Window.
Чтобы отключить точку останова, не удаляя ее связанное условие, снимите флажок рядом с именем точки останова. Например, в этом графике, точке останова на During State
установите точки останова для upshifting
состояние отключено.
Если вы отключаете все точки останова для графического объекта, его цвета изменений значка точки останова от красного до серого. Если существует по крайней мере одна точка останова, включенная для объекта, значок точки останова остается красным.
Чтобы повторно включить точку останова, выберите поле рядом с именем точки останова. Чтобы отключить или повторно включить все точки останова, очистите или установите флажок наверху окна.
Чтобы удалить точку останова из графика, укажите на имя точки останова и кликните по значку Remove this breakpoint, который появляется справа от имени. Когда вы удаляете точку останова, вы также удаляете ее связанное условие.
Отображения столбца Hits число раз, которое симуляция приостановила на каждой точке останова. Когда вы изменяете условие для точки останова, график сбрасывает количество хитов.
Точки останова сохраняются во время сеанса работы с MATLAB. Когда вы закрываете модель, ее точки останова остаются в окне Breakpoints и Watch. Если вы вновь открыли модель во время того же сеанса работы с MATLAB, все точки останова и их связанные условия восстанавливаются.
Можно сохранить точку останова и смотреть списки данных и перезагрузить их в более позднем сеансе работы с MATLAB. Чтобы сохранить снимок состояния точки останова и смотреть списки данных, во главе Точек останова и Смотреть Window, кликают по значку Save current breakpoints and watches. Чтобы восстановить снимок состояния, кликните по значку Load breakpoints and watches.