Если выполнение SIL перестало работать, или вы замечаете различия между выходными параметрами ваших исходных функций и сгенерированного кода, можно повторно выполнить выполнение SIL с включенным отладчиком. Путем вставки точек останова можно наблюдать поведение секций кода, которые могут помочь вам изучить причину проблемы.
Для отказа выполнения SIL можно также просмотреть информацию от стандартного вывода и потоков стандартной погрешности в Командном окне MATLAB®. Например:
Выведите от printf
операторы в вашем коде.
Если вы включаете обнаружение ошибки времени выполнения, сообщения, отправленные в stderr
.
Некоторые низкоуровневые системные сообщения.
Во время выполнения SIL приложение SIL перенаправляет stdout
и stderr
потоки. Когда приложение завершает работу, Окно Команды MATLAB отображает информацию от перенаправленных потоков. Приложение SIL также обеспечивает обработчик базового сигнала, который получает сигналы POSIX® SIGFPE
, SIGILL
, SIGABRT
, и SIGSEV
. Для этого обработчика сигнала приложение SIL включает файл signal.h
.
Выполнение СИЛА поддерживает следующие отладчики:
На Windows®, отладчике Microsoft® Visual Studio®.
На Linux®, GNU® Data Display Debugger (DDD).
На macOS, Отладчик LLDB (LLBD).
Можно выполнить SIL отладка, только если Microsoft Visual C ++® или GNU компилятор GCC поддерживаются семейством продуктов MATLAB. Для получения дополнительной информации см. поддерживаемые компиляторы.
Запускать выполнение SIL с отладкой активированного:
На странице Generate Code нажмите Verify Code.
Установите флажок Enable source-level debugging for SIL.
Нажмите Run Generated Code.
На компьютере Windows, вашем
или user_fn
C
файл открывается в IDE Microsoft Visual Studio точками останова отладчика в начале user_fn
.cppuser_fn
_initialize
и user_fn
функции.
Можно теперь использовать функции отладчика, чтобы наблюдать поведение кода. Например, можно продвинуться через код и исследовать переменные.
Закончить сеанс отладки:
Удалите все точки останова.
Нажмите кнопку Continue (F5).
Выполнение SIL выполнение до завершения.
Чтобы отключить процесс выполнения SIL, на вкладке Test Output, щелкают по ссылке, которая следует за To terminate execution
, например, clear kalman01_sil
.
IDE Microsoft Visual Studio закрывается автоматически.
Если вы выбираете Debug> Stop Debugging, времена выполнения SIL со следующим сообщением об ошибке:
Communications error: failed to send data to the target. There might be multiple reasons for this failure. ... ...