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

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

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

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

  • Если вы включаете обнаружение ошибки времени выполнения, сообщения, отправленные в stderr.

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

Примечание

Во время выполнения SIL приложение SIL перенаправляет stdout и stderr потоки. Когда приложение завершает работу, командное окно MATLAB отображает информацию от перенаправленных потоков. Приложение SIL также обеспечивает обработчик базового сигнала, который получает POSIX® сигналы SIGFPE, SIGILL, SIGABRT, и SIGSEV. Для этого обработчика сигнала приложение SIL включает файл signal.h.

Выполнение SIL поддерживает следующие отладчики:

  • На Windows®, Microsoft® Visual Studio® отладчик.

  • На macOS, Отладчик LLDB (LLDB).

  • На Linux®, GNU® Отладчик отображения данных (DDD).

Примечание

Можно выполнить отладку SIL, только если семейство продуктов MATLAB поддерживает Microsoft Visual C++®, XCode или GNU компилятор GCC. Для получения дополнительной информации см. поддерживаемые компиляторы.

Запускать выполнение SIL с отладкой активированного:

  1. На странице Generate Code нажмите Verify Code.

  2. Установите флажок Enable source-level debugging for SIL.

  3. Нажмите Run Generated Code.

На компьютере Windows, вашем user_fnC или user_fn.cpp файл открывается в IDE Microsoft Visual Studio точками останова отладчика в начале user_fn_initialize и user_fn функции.

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

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

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

  2. Нажмите кнопку Continue (F5).

    Выполнение SIL выполнение до завершения.

  3. Чтобы отключить процесс выполнения 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.

...
...

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте