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