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

Если симуляция цикл (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 или 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.
... 
...

Похожие темы