Сконфигурируйте модель для отладки

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

Параметры в следующей таблице будут полезны, если вы пишете код TLC для настройки целевых элементов, интеграции унаследованного кода или разработки новых блоков.

Кому...Выберите...
Отображение информации о прогрессе во время генерации кода в MATLAB® Командное окно

Подробная сборка. Также отображается выход компилятора.

Предотвратите удаление model процессом сборки.rtw файл из папки сборки в конце сборки

Сохраните файл .rtw. Этот параметр полезен, если вы изменяете целевые файлы, в этом случае вам нужно посмотреть на model.rtw файл.

Дайте указание профилировщику TLC проанализировать эффективность кода TLC, выполненного во время генерации кода, и сгенерировать отчетПрофиль TLC. Отчет находится в формате HTML и может быть прочитан в вашем веб-браузере.
Запустите отладчик TLC во время генерации кодаЗапустите отладчик TLC при генерации кода. Кроме того, введите аргумент -dc для параметра Системный целевой файл на панели Code Generation. Чтобы запустить отладчик и запустить скрипт отладчика, введите -df filename для System target file.
Сгенерируйте отчет, содержащий статистику, указывающую, сколько раз генератор кода читает каждую строку кода TLC во время генерации кодаЗапустите покрытие TLC при генерации кода. Кроме того, введите аргумент -dg для параметра System Target File на панели Code Generation.
Остановите сборку, если пользовательский файл TLC содержит %assert директива, которая оценивает, чтобы FALSE

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

Чтобы включить или выключить флаг, используйте set_param команда. Значение по умолчанию отключено.

set_param(model, 'TLCAssertion', 'on|off') 

Чтобы проверить текущую настройку, используйте get_param.

get_param(model, 'TLCAssertion')
Обнаружение потери настраиваемости

Обнаружение потери настраиваемости на панели Diagnostics > Data Validity. Можно использовать этот параметр, чтобы сообщить о потере настраиваемости, когда выражение уменьшается до числового выражения. Это может произойти, если настраиваемая переменная рабочей области изменена кодом инициализации маски или используется в арифметическом выражении с неподдерживаемыми операторами или функциями. Возможные значения:

  • none - Потеря настраиваемости может произойти без уведомления.

  • warning - Потеря настраиваемости генерирует предупреждение (по умолчанию).

  • error - Потеря настраиваемости генерирует ошибку.

Список поддерживаемых операторов и функций см. в разделе Настраиваемые ограничения выражений

Включите блоки верификации модели (утверждения)

Верификация модели. Используйте этот параметр, чтобы включить или отключить блоки верификации модели, такие как Assert, Check Static Gap и связанные блоки проверки области значений. Диагностика применяется к сгенерированному коду и поведению симуляции. Для примера симуляция и генерация кода игнорируют этот параметр, когда блоки верификации модели находятся внутри S-функции. Возможные значения:

  • User local settings

  • Enable All

  • Disable All

Для блоков Assertion, не отключенных, сгенерированный код для модели включает одно из следующих операторов, в зависимости от типа входного сигнала блоков (логический, вещественный или целое число, соответственно).

utAssert(input_signal);
utAssert(input_signal != 0.0);
utAssert(input_signal != 0);

По умолчанию utAssert не изменяет сгенерированный код. Чтобы утверждения прервали выполнение, вы должны включить их, задав следующее make_rtw команда для Code Generation > Make command parameter:

make_rtw OPTS="-DDOASSERTS"

Используйте следующий вариант, если необходимо, чтобы инициированные утверждения печатали оператор утверждения вместо того, чтобы прерывать выполнение:

make_rtw OPTS="-DDOASSERTS -DPRINT_ASSERTS"

utAssert определяется как #define utAssert(exp) assert(exp).

Чтобы настроить поведение типа «assertion», предоставьте свое собственное определение utAssert в рукописном файле заголовка, который переопределяет значение по умолчанию utAssert.h. Для получения дополнительной информации о том, как включить настраиваемый файл заголовка в сгенерированный код, смотрите Интегрирация внешнего кода с использованием параметров конфигурации модели.

При запуске модели в режиме Accelerator, Simulink® engine вызывает себя, чтобы выполнить блоки утверждения вместо использования сгенерированного кода. Таким образом, пользовательские коллбэки все еще вызываются, когда утверждения не выполняются.

Дополнительные сведения о опциях отладки TLC см. в разделе Отладка на целевом языковом компиляторе. Кроме того, рассмотрите использование Model Advisor в качестве инструмента для поиска и устранения проблем со сборками моделей.

Похожие темы