Установите точки по оси Х, чтобы отлаживать графики

Вы разрешаете отладку для Stateflow® график при установке breakpoint. Точка останова является точкой на диаграмме Stateflow, которая останавливает симуляцию, чтобы можно было изучить состояние графика. В то время как симуляция приостановлена, можно просмотреть данные Stateflow, взаимодействовать с MATLAB® рабочая область и шаг через симуляцию. Для получения дополнительной информации см. «Отладка диаграмм Stateflow».

Точки останова появляются как округлые красные значки. Например, этот график содержит точки останова на upshifting состояние и переход от steady_state на upshifting.

Установите точку прерывания для объекта Stateflow

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

Точки останова на графиках

Чтобы задать точку останова на графике, щелкните правой кнопкой мыши внутри диаграммы и выберите Set Breakpoint on Chart Entry. Этот тип точек по оси Х останавливает симуляцию перед входом на график.

Чтобы удалить точку останова, щелкните правой кнопкой мыши внутри графика и очистите Set Breakpoint on Chart Entry опции.

Контрольные точки по состояниям и переходам

Можно задать различные типы точек прерывания в состояниях и переходах.

ОбъектТип точки останова
Государство

On State Entry - Приостановите симуляцию перед выполнением entry состояния действия.

During State - Приостановите симуляцию перед выполнением during состояния действия.

On State Exit - Приостановить симуляцию после выполнения exit состояния действия.

Переход

When Transition is Tested - Приостановите симуляцию перед тестированием, что переход является допустимым путем. Если условие на переходе не существует, этот тип точки останова недоступен.

When Transition is Valid - Приостановить симуляцию после того, как переход будет действительным, но перед выполнением перехода.

Чтобы задать точку останова в состоянии или переходе, щелкните правой кнопкой мыши состояние или переход и выберите Set Breakpoint. Для состояний по умолчанию являются On State Entry и During State. Для переходов точка прерывания по умолчанию является When Transition is Valid. Чтобы изменить тип точек по оси Х, щелкните значок точек Х и выберите другое строение точек Х. Для получения дополнительной информации см. раздел «Изменение типов точек по оси Х».

Чтобы удалить точку останова, щелкните правой кнопкой мыши состояние или переход и выберите Clear Breakpoint.

Точки останова на функциях Stateflow

Чтобы задать точку останова в функции графической таблицы или таблицы истинности, щелкните правой кнопкой мыши функцию и выберите 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 останавливается каждый раз, когда она достигает точки останова. Когда вы добавляете условие к точке останова, график останавливается в точке останова только тогда, когда условие верно.

Чтобы добавить условие к точке останова:

  1. На вкладке Debug щелкните Breakpoints List, чтобы открыть окно Stateflow Breakpoints and Watch. Также можно открыть окно Точки по оси Х (Breakpoints and Watch), щелкнув ссылку на Breakpoints List (Breakpoints) в диалоговом окне Точки по оси Х (Breakpoints).

  2. Выберите вкладку Breakpoints. На вкладке Breakpoints перечислены все точки останова на графике. Для получения дополнительной информации см. Раздел «Управление точками по оси Х» и «Окно просмотра».

  3. В столбце 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.

Похожие темы