Отладьте сгенерированный код во время SIL симуляции

Если программное обеспечение в цикле (SIL), который приводит к сбою симуляция или вы замечаете различия между выходными параметрами ваших исходных функций и сгенерированного кода, можно повторно выполнить SIL симуляцию с включенным отладчиком. Путем вставки точек останова можно наблюдать поведение секций кода, которые могут помочь вам изучить причину проблемы.

Для отказа SIL симуляции можно также просмотреть информацию от стандартного вывода и потоков стандартной погрешности в Диагностическом Средстве просмотра. Например:

  • Выведите от printf операторы в вашем коде.

  • Сообщения об ошибке отправляются в stderr.

  • Некоторые низкоуровневые системные сообщения.

Во время SIL симуляции приложение SIL перенаправляет stdout и stderr потоки. Когда приложение завершает работу, Диагностическое Средство просмотра отображает информацию от перенаправленных потоков. Приложение 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 симуляции, выполните одно из этих действий:

  • На вкладке SIL/PIL нажмите Settings> SIL Debugging.

  • В диалоговом окне Configuration Parameters установите флажок Enable source-level debugging for SIL.

Если у вашей топ-модели есть блоки Model, параметр Enable source-level debugging for SIL для топ-модели заменяет соответствующий параметр для моделей, на которые ссылаются.

Когда вы запускаете SIL симуляцию, например, на компьютере Windows, вашем modelC или model.cpp файл открывается в IDE Microsoft Visual Studio точками останова отладчика в начале model_initialize и model_step функции.

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

Закончить сеанс отладки:

  1. Удалите все точки останова.

  2. Нажмите 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.
... 
...

Похожие темы