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

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

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

Установите точку останова для объекта 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 Valid — Остановите симуляцию после допустимых тестов перехода, но прежде, чем взять переход.

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

Чтобы установить точку останова на состоянии или переходе, щелкните правой кнопкой по состоянию или переходу и выберите 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Не доступныйНе доступный

Чтобы установить или ясные точки останова для события, измените свойства Debugger Breakpoints через Property Inspector или Model Explorer. Для получения дополнительной информации смотрите Set Properties для События.

Измените типы точки останова

Точки останова появляются как круговые красные значки. Значок точки останова может представлять больше чем один тип точки останова. Чтобы видеть, что подсказка перечисляет набор типов точки останова для объекта Stateflow, укажите на его значок. Например, значок на On состояния представляет два типа точки останова: On State Entry и During State.

Чтобы изменить тип точки останова для объекта, кликните по значку точки останова. В диалоговом окне Breakpoints можно выбрать различную настройку точек останова, в зависимости от типа объекта.

Очистка всех флажков в диалоговом окне Breakpoints удаляет точку останова.

Щелчок по ссылке Manage breakpoints открывает окно Stateflow Breakpoints и Watch. В этом окне можно управлять состояниями для всех точек останова. Для каждой точки останова вы можете:

  • Установите условия.

  • Включите точку останова.

  • Отключите точку останова.

  • Очистите точку останова.

  • Просмотрите число раз, с точкой останова столкнулись во время симуляции.

Для получения дополнительной информации смотрите, Управляют Точками останова Stateflow и Смотрят Data.

Выполнение диаграммы управления после точки останова

Когда остановки симуляции в точке останова, Stateflow вводит режим отладки.

  • Подсказка команды MATLAB изменяется на debug>>.

  • Окно Symbols отображает значение каждого объекта данных в графике.

  • График подсвечивает активные элементы синего цвета и объект выполняющегося в данного момента зеленого цвета.

Например, этот график содержит точку останова на записи в состоянии HIGH, подсостоянии On. Когда остановки симуляции в точке останова, активное состояние (On) кажется подсвеченным в синем, и подсостояние выполняющегося в данного момента (HIGH) кажется подсвеченным в зеленом.

Значок состояния выполнения появляется в графическом объекте, где выполнение делает паузу.

ЗначокОписание

Выполнение, остановленное прежде, чем ввести график или состояние.

Выполнение останавливается в действии during состояния, графической функции или функции таблицы истинности.

Выполнение, остановленное после выхода из состояния.

Выполнение, остановленное прежде, чем протестировать переход.

Выполнение, остановленное прежде, чем взять допустимый переход.

Чтобы видеть состояние выполнения, укажите на значок. Подсказка указывает:

  • Где остановленное выполнение

  • Время симуляции

  • Текущее событие (в присутствии локального события или входного события)

Чтобы просмотреть значения данных в графике, укажите на объект диаграммы. Подсказка отображается:

  • Значение каждых данных и сообщения, что выбранный объект использует

  • Временная информация (в присутствии временного логического оператора)

Для получения дополнительной информации смотрите, Смотрят Data в диаграмме Stateflow.

После того, как симуляция останавливается в точке останова, можно продолжить выполнение графика от панели инструментов Stateflow Editor в подсказке команды MATLAB, или путем выбора горячей клавиши.

Значок панели инструментовОпцияКомандаОписаниеГорячая клавиша

Продолжениеdbcont

Продолжите симуляцию к следующей точке останова.

Ctrl+T

Переступитьdbstep

Перейдите к следующему шагу в выполнении графика. На уровне графика возможные шаги включают:

  • Введите график

  • Протестируйте переход

  • Выполните действие перехода

  • Активируйте состояние

  • Выполните акт государственной власти

Для получения дополнительной информации смотрите Выполнение диаграммы Stateflow.

F10

Вступитьdbstep in

От состояния или действия перехода, которое вызывает функцию, усовершенствование к первому исполняемому оператору в функции.

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

В противном случае перейдите к следующему шагу в выполнении графика. (См., Переступают.)

F11

Выйтиdbstep out

От вызова функции возвратитесь к оператору, вызывающему функцию.

В противном случае продолжите симуляцию к следующей точке останова. (См., Продолжаются.)

Shift+F11

Шаг вперед  

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

 

Остановка dbquit

Выйдите из режима отладки и симуляции остановки.

Ctrl+Shift+T

В состоянии или действиях перехода, содержащих больше чем один оператор, можно продвинуться через отдельные операторы по одному путем выбора Step Over. Stateflow подсвечивает каждый оператор прежде, чем выполнить его. Чтобы выполнить группу операторов вместе, щелкните правой кнопкой по последнему оператору по группе и выберите Run To Cursor.

Похожие темы