Если программное обеспечение в цикле (SIL), который приводит к сбою симуляция или вы замечаете различия между выходными параметрами ваших исходных функций и сгенерированного кода, можно повторно выполнить SIL симуляцию с включенным отладчиком. Путем вставки точек останова можно наблюдать поведение секций кода, которые могут помочь вам понять причину проблемы.
Для отказа SIL симуляции можно также просмотреть информацию от стандартного вывода и потоков стандартной погрешности в Диагностическом Средстве просмотра. Например:
Выведите от операторов printf
в вашем коде.
Сообщения об ошибке отправляются в stderr
.
Некоторые низкоуровневые системные сообщения.
Во время SIL симуляции приложение SIL перенаправляет потоки stderr
и stdout
. Когда приложение останавливается, Диагностическое Средство просмотра отображает информацию от перенаправленных потоков. Приложение SIL также обеспечивает обработчик базового сигнала, который получает сигналы POSIX® SIGFPE
, SIGILL
, SIGABRT
и SIGSEV
. Для этого обработчика сигнала приложение SIL включает файл signal.h
.
SIL симуляция поддерживает эти отладчики;
На Windows®, отладчике Microsoft® Visual Studio®.
На Linux®, GNU® Data Display Debugger (DDD).
Можно выполнить SIL отладка, только если семейство продуктов Simulink® поддерживает Microsoft Visual C ++® или GNU компилятор GCC. Для получения дополнительной информации см. поддерживаемые компиляторы.
Чтобы включить ваш отладчик для SIL симуляции, на Configuration Parameters> Code Generation> панель Verification, устанавливают флажок Enable source-level debugging for SIL.
Если у вашей топ-модели есть блоки Model, параметр Enable source-level debugging for SIL для топ-модели заменяет соответствующий параметр для моделей, на которые ссылаются.
Когда вы запускаете SIL симуляцию, например, на компьютере Windows, ваш файл
или model.c
открывает в IDE Microsoft Visual Studio с точками останова отладчика в начале model.cpp
_initialize
model
и model
функции _step
.
Можно теперь использовать функции отладчика, чтобы наблюдать поведение кода. Например, можно продвинуться через код и исследовать переменные.
Закончить сеанс отладки:
Удалите все точки останова.
Нажмите кнопку Continue
(F5).
SIL симуляция выполнение до завершения и завершения IDE Microsoft Visual Studio.
В IDE Microsoft Visual Studio, если вы выбираете Debug> Stop Debugging, SIL симуляция испытывает таймаут со следующим сообщением об ошибке:
The timeout of 1 seconds for receiving data from the rtiostream interface has been exceeded. There are multiple possible causes for this failure. ... ...