Временно исключительные задачи (-temporal-exclusions-file)

Задайте функции точки входа, которые не могут выполниться одновременно

Описание

Задайте функции точки входа, которые не могут выполниться одновременно. Выполнение функций не может наложиться друг с другом.

Установите опцию

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

Командная строка: Используйте опцию -temporal-exclusions-file. Смотрите информацию о Командной строке.

Почему использование эта опция

Используйте эту опцию, чтобы реализовать временное исключение в многозадачном коде.

Верификация Программы автоматического доказательства Кода проверяет при определении определенных задач, когда временно исключительный защищает все совместно используемые переменные от параллельного доступа. При определении возможных значений тех совместно используемых переменных верификация составляет то, что временно исключительные задачи не прерывают друг друга. Смотрите Глобальные переменные.

Анализ Средства поиска Ошибки использует временную информацию об исключении, чтобы искать дефекты параллелизма, такие как гонка данных. Смотрите Дефекты Параллелизма (Polyspace Bug Finder).

Настройки

Никакое значение по умолчанию

Щелкните, чтобы добавить поле. В каждом поле введите разделенный пробелом список функций. Polyspace® полагает, что функции в списке не могут выполниться одновременно.

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

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

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

Зависимости

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

Советы

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

Однако, если совместно используемая переменная является указателем или массивом, программное обеспечение использует спецификации только, чтобы определить, является ли переменная разделяемой защищенной глобальной переменной. Для ошибки времени выполнения, регистрируясь в Программе автоматического доказательства Кода, программное обеспечение не принимает ваши спецификации во внимание и полагает, что к переменной можно одновременно получить доступ.

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

Для параметра командной строки создайте временный файл исключений в следующем формате:

  • На каждой строке введите одну группу временно исключенных задач.

  • В строке задачи разделяются пробелами.

Параметр: -temporal-exclusions-file
Никакое значение по умолчанию
Значение: Имя временного файла исключений
Пример (средство поиска ошибки): polyspace-bug-finder -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"
Пример (программа автоматического доказательства кода): polyspace-code-prover -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"
Пример (сервер средства поиска ошибки): polyspace-bug-finder-server -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"
Пример (сервер программы автоматического доказательства кода): polyspace-code-prover-server -sources file_name -temporal-exclusions-file "C:\exclusions_file.txt"