Вы разрешаете отладку для 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
.
Чтобы изменить тип точек по оси Х объекта, щелкните значок точки Х. В диалоговом окне «Точки по оси Х» можно выбрать другое строение точек по оси Х в зависимости от типа объекта.
Снятие всех флажков в диалоговом окне «Точки по оси Х» удаляет точку по оси Х.
Чтобы ограничить количество раз, когда симуляция останавливается в точке останова, добавьте условие к точке останова. По умолчанию диаграмма Stateflow останавливается каждый раз, когда она достигает точки останова. Когда вы добавляете условие к точке останова, график останавливается в точке останова только тогда, когда условие верно.
Чтобы добавить условие к точке останова:
На вкладке Debug щелкните Breakpoints List, чтобы открыть окно Stateflow Breakpoints and Watch. Также можно открыть окно Точки по оси Х (Breakpoints and Watch), щелкнув ссылку на Breakpoints List (Breakpoints) в диалоговом окне Точки по оси Х (Breakpoints).
Выберите вкладку Breakpoints. На вкладке Breakpoints перечислены все точки останова на графике. Для получения дополнительной информации см. Раздел «Управление точками по оси Х» и «Окно просмотра».
В столбце 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 and Watch. Чтобы открыть окно Breakpoints and Watch, на вкладке Debug, нажмите Breakpoints List. Также откройте диалоговое окно Breakpoints и щелкните ссылку Breakpoints List.
Чтобы просмотреть список всех точек по оси Х и связанных с ними условий, выберите вкладку Breakpoints.
Для просмотра данных и значений сообщений выберите вкладку Watch. Для получения дополнительной информации см. раздел «Просмотр данных в окне точек по оси Х» и «Часы».
Чтобы отключить точку останова, не удаляя связанное с ней условие, снимите флажок рядом с именем точки останова. Для примера в этом графике точка останова на During State
точка прерывания для upshifting
состояние отключено.
Если отключить все точки останова для графического объекта, значок точки останова изменит цвет с красного на серый. Если для объекта включена хотя бы одна точка останова, значок точки останова остается красным.
Чтобы снова включить точку останова, установите флажок рядом с именем точки останова. Чтобы отключить или снова включить все точки останова, снимите или установите флажок в верхней части окна.
Чтобы удалить точку останова из графика, укажите имя точки останова и щелкните значок Remove this breakpoint, который появляется справа от имени. Когда вы удаляете точку останова, вы также удаляете связанное с ней условие.
В Hits столбце отображается количество раз, которое симуляция приостановила на каждой точке останова. При изменении условия для точки останова график сбрасывает количество попаданий.
Точки останова сохраняются во время сеанса работы с MATLAB. Когда вы закрываете модель, ее точки останова остаются в окне Breakpoints и Watch. Если вы снова открываете модель во время того же сеанса работы с MATLAB, все точки останова и связанные с ними условия восстанавливаются.
Можно сохранить точку останова и просмотреть списки данных и перезагрузить их в более позднем сеансе работы с MATLAB. Чтобы сохранить снимок точки останова и просмотреть списки данных, в верхней части окна Breakpoints and Watch Window щелкните значок Save current breakpoints and watches. Чтобы восстановить снимок, щелкните значок Load breakpoints and watches.