Если программное обеспечение в цикле (SIL), который приводит к сбою симуляция или вы замечаете различия между выходными параметрами ваших исходных функций и сгенерированного кода, можно повторно выполнить SIL симуляцию с включенным отладчиком. Путем вставки точек останова можно наблюдать поведение секций кода, которые могут помочь вам изучить причину проблемы.
Для отказа SIL симуляции можно также просмотреть информацию от стандартного вывода и потоков стандартной погрешности в Диагностическом Средстве просмотра. Например:
Выведите от printf
операторы в вашем коде.
Сообщения об ошибке отправляются в stderr
.
Некоторые низкоуровневые системные сообщения.
Во время SIL симуляции приложение SIL перенаправляет stdout
и stderr
потоки. Когда приложение завершает работу, Диагностическое Средство просмотра отображает информацию от перенаправленных потоков. Приложение SIL также обеспечивает обработчик базового сигнала, который получает POSIX® сигналы SIGFPE
, SIGILL
, SIGABRT
, и SIGSEV
. Для этого обработчика сигнала приложение SIL включает файл signal.h
.
SIL симуляция поддерживает эти отладчики;
На Windows®, Microsoft® Visual Studio® отладчик.
На macOS, Отладчик LLDB (LLDB).
На Linux®, GNU® Отладчик отображения данных (DDD).
Примечание
Можно выполнить отладку SIL только если Simulink® семейство продуктов поддерживает ваш Microsoft Visual C++®, XCode или GNU компилятор GCC. Для получения дополнительной информации см. поддерживаемые компиляторы.
Чтобы включить ваш отладчик для SIL симуляции, выполните одно из этих действий:
На вкладке SIL/PIL нажмите Settings> SIL Debugging.
В диалоговом окне Configuration Parameters установите флажок Enable source-level debugging for SIL.
Если у вашей топ-модели есть блоки Model, параметр Enable source-level debugging for SIL для топ-модели заменяет соответствующий параметр для моделей, на которые ссылаются.
Когда вы запускаете SIL симуляцию, например, на компьютере Windows, вашем
или model
C
файл открывается в IDE Microsoft Visual Studio точками останова отладчика в начале model
.cppmodel
_initialize
и 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. ... ...