变量访问

变量访问窗格显示全局变量(和本地静态变量)。对于每个全局变量,窗格列出了在变量上执行读/写访问的所有函数和任务,以及它们的属性,例如值,读/写访问和共享使用情况。

在Polyspace中打开这个窗格®桌面用户界面,选择按钮结果细节窗格。

对于每个变量和每个读/写访问,变量访问窗格包含相关属性。对于变量,该表列出了各种属性。

属性 描述
变量

变量的名称

文件 包含变量声明的源文件

变量的值(或值范围)

这一列对于指针变量是空的。

#阅读 读取变量的次数
#写道 编写变量的次数
写的任务 在变量上写任务的名称
由任务读取 任务名称读取变量
保护

是否保护共享变量不受并发访问

(只填写用法列有条目,共享)

这一栏中可能的条目是:

  • 关键部分:如果在代码的关键部分访问变量

  • 暂时排除:如果在互斥的任务中访问变量

有关这些条目的详细信息,请参见多任务

用法 共享如果变量在任务之间共享;否则,空白
变量声明的行号
col 变量声明的列号(从行开始的字符数)
数据类型 变量的数据类型(C/ c++数据类型或结构/类)

双击变量名称以在变量上查看读/写访问操作。箭头符号在里面变量访问窗格指示分别在全局变量上执行读取和写入访问的函数。同样,执行读写访问的任务由符号表示分别。有关任务的更多信息,请参阅任务(入口点)

对于变量的访问操作,此表列出了窗格中描述的各种属性。

属性 描述
变量

对变量执行读写访问的函数(或任务)的名称

执行读写访问的函数或任务中的变量值或变量值范围

这一列对于指针变量是空的。

写的任务 仅适用于任务:对变量进行写访问的任务名称
由任务读取 仅适用于任务:对变量进行读访问的任务名称
函数或任务访问变量的行号
col 函数或任务访问变量的列数
文件

包含变量访问操作的源文件

如果此列包含名称__polyspace__stdstubs.c,表示在标准库函数内访问该变量。

例如,考虑全局变量,SHR2:

这个函数,Tserver,在文件中,tasks1.c,执行两个写操作SHR2。这在变量访问窗格中的两个实例Tserver()根据变量,SHR2,。同样,任务的两个写访问,server1server2,亦列于SHR2和标记

中变量的配色方案变量访问面板是:

  • 黑色:全局变量。

  • 橙色:全局变量,在任务之间共享,没有防止并发访问权限。

  • 绿色:全局变量,任务之间共享,不受并发访问的保护。

  • 灰色:全局变量,已声明但未在可达代码中使用。

如果任务对全局变量执行某些操作,但操作处于无法访问的代码,则任务是彩色的。

全局变量和读写访问操作的信息变量访问窗格称为数据字典。

还可以在变量访问窗格。

  • 视图访问图

  • 查看结构化变量

  • 查看匿名变量的操作

  • 通过全局指针查看访问

  • 显示/隐藏来电者和callee

  • 隐藏无法访问代码的访问

  • 限制