exponenta event banner

Задачи (-entry-points)

Укажите функции, выполняющие функции многозадачного приложения

Описание

Эта опция недоступна для кода, сгенерированного в моделях MATLAB ® или Simulink ®.

Укажите функции, выполняющие функции кода. Если функция не существует, проверка предупреждает вас и продолжает проверку.

Задать опцию

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

файл командной строки и параметров: Использовать параметр -entry-points. См. раздел Сведения о командной строке.

Зачем использовать этот параметр

Используйте этот параметр, если код предназначен для многозадачности.

Чтобы указать циклические задачи и прерывания, используйте параметры Cyclic tasks (-cyclic-tasks) и Interrupts (-interrupts). Эта опция используется для указания других задач.

Анализ программы проверки кода использует ваши спецификации для определения:

  • Является ли глобальная переменная общей.

    См. раздел Глобальные переменные.

  • Может ли возникнуть ошибка времени выполнения.

    Например, если операция var++ возникает в теле циклической задачи, и вы не накладываете ограничения на var, операция может переполниться. Анализ обнаруживает возможное переполнение.

Анализ Bug Finder использует ваши спецификации для поиска дефектов параллелизма. Дополнительные сведения см. в разделе Дефекты параллелизма.

Настройки

По умолчанию нет

Введите имена функций или выберите их из списка.

  • Щелкните для добавления поля и введите имя функции.

  • Щелкните, чтобы перечислить функции в коде. Выберите функции из списка.

Зависимости

Чтобы включить этот параметр в интерфейсе пользователя настольных продуктов, сначала выберите этот параметр. Configure multitasking manually.

Совет

  • В программе Code Prover функции, представляющие точки входа, должны иметь вид

    void functionName (void)

  • Если функция func принимает аргументы или возвращает значение, его нельзя использовать непосредственно в качестве точки входа. Использовать func как точка входа:, вызов func из обертки void-void и укажите обертку в качестве точки входа. См. раздел Настройка многозадачного анализа в многозадачном пространстве вручную.

  • Если в качестве задачи указана функция, необходимо указать ее определение. В противном случае проверка средства проверки кода прекращается с сообщением об ошибке:

    task func_name must be a userdef function without parameters

    Анализ Bug Finder продолжается, но не рассматривает функцию как точку входа.

  • При запуске файла путем проверки файла в программе Code Prover параметры многозадачности игнорируются. Посмотрите Verify files independently (-unit-by-unit).

  • Многозадачный анализ Polyspace ® предполагает, что задача не может прервать себя.

Информация командной строки

Параметр: -entry-points
По умолчанию нет
Значение: function1[,function2[,...]]
Пример (поиск ошибок): polyspace-bug-finder -sources file_name -entry-points func_1,func_2
Пример (проверка кода): polyspace-code-prover -sources file_name -entry-points func_1,func_2
Пример (сервер поиска ошибок): polyspace-bug-finder-server -sources file_name -entry-points func_1,func_2
Пример (сервер проверки кода): polyspace-code-prover-server -sources file_name -entry-points func_1,func_2