Глобальные переменные в Polyspace доступ к веб-интерфейсу

Эта тема фокусируется на Polyspace® Доступ к веб-интерфейсу. Чтобы узнать об эквивалентной панели в пользовательском интерфейсе рабочего стола Polyspace, смотрите Переменный доступ в Пользовательском интерфейсе Рабочего стола Polyspace.

Панель Global Variables Usage отображает глобальные переменные (и локальные статические переменные). Для каждой глобальной переменной панель перечисляет все функции и задачи, выполняющие доступ для чтения-записи на переменных, наряду с их атрибутами, такими как значения, доступы для чтения-записи и совместно использованное использование.

Вы открываете панель Global Variables Usage при помощи значка в вашей панели Results Details, или путем движения в Window> Global Variables Usage.

Для каждой переменной и каждого доступа для чтения-записи, панель Global Variables Usage содержит соответствующие атрибуты. Для переменных различные атрибуты перечислены в этой таблице.

АтрибутОписание
Variables

Имя переменной

Values

Значение (или область значений значений) переменной

Этот столбец пуст для переменных указателя.

# ReadsЧисло раз переменная читается
# WritesЧисло раз переменная записано
Read by taskИмя переменной чтения задач
Written by taskИмя задач, пишущих на переменной
Protection

Защищена ли совместно используемая переменная от параллельного доступа

(Заполненный только, когда столбец Usage имеет запись, Shared),

Возможные записи в этом столбце:

  • Critical Section: Если к переменной получают доступ в критическом разделе кода

  • Temporal Exclusion: Если к переменной получают доступ во взаимоисключающих задачах

Для получения дополнительной информации об этих записях см. документацию для Polyspace Code Prover™ или Polyspace Code Prover Server™.

UsageShared, если переменная совместно используется задачами; в противном случае, пробел
FileИсходный файл, содержащий объявление переменной
Data TypeТип данных переменной (типы данных C/C++ или структуры/классы)

Дважды кликните имя переменной, чтобы просмотреть операции доступа для чтения-записи на переменной в панели Results Details. Символы в виде стрелки и в панели Results Details указывают на функции, выполняющие доступ для чтения и доступ для записи соответственно на глобальной переменной. Для получения дополнительной информации о задачах смотрите опцию анализа Tasks (-entry points) в документации для Polyspace Code Prover или Polyspace Code Prover Server.

Для операций доступа на переменных различные атрибуты, описанные в панели Global Variables Usage, перечислены в этой таблице.

АтрибутОписание
Values

Значение или область значений значений переменной в функции или задаче, выполняющей доступ для чтения-записи

Этот столбец пуст для переменных указателя.

Written by taskТолько для задач: Имя задачи, выполняющей доступ для записи на переменной
Read by taskТолько для задач: Имя задачи, выполняющей доступ для чтения на переменной
FileИсходный файл, содержащий операцию доступа на переменной

Панель Results Details также перечисляет Scope операции доступа на переменной.

Например, рассмотрите глобальную переменную, SHR2:

Функция, Tserver, в файле, tasks1.c, выполняет две операции записи на SHR2. Это обозначается в панели Results Details двумя экземплярами Tserver() в таблице, отмеченной. Аналогично, доступ для чтения задачей initregulate также перечислено в таблице и отмечен.

Цветовая схема для переменных в панели Global Variables Usage:

  • Черный: глобальная переменная.

  • Оранжевый: глобальная переменная, совместно использованная задачами без защиты от параллельного доступа.

  • Зеленый: глобальная переменная, совместно использованная задачами и защищенная от параллельного доступа.

  • Серый: глобальная переменная, объявленная, но не используемый в достижимом коде.

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

Информация о глобальных переменных и операциях доступа для чтения-записи, полученных из панели Global Variables Usage, называется словарем данных.

Можно также выполнить следующие действия от панели Global Variables Usage.

  •  Просмотрите структурированные переменные

  •  Покажите/Скройте Вызывающим сторонам и Вызываемым

  •  Скройте доступ в недостижимом коде

  •  Ограничения