主要内容

解释代码验证结果在Polyspace桌面用户界面

这一主题展示了如何审查代码验证结果Polyspace桌面产品的用户界面。下载188bet金宝搏看到如何审查结果Polyspace访问web界面,看到的解释代码验证结果Polyspace访问Web界面

当你打开的结果Polyspace®代码验证™分析,你看到一列结果列表窗格。列表包含运行时检查,编码规则违规,代码度量和全局变量使用。

你可以首先缩小你审查的重点:

  • 在结果列表列使用过滤器。例如,您可以首先关注红色检查。

  • 组织文件和函数的结果。使用图标上方的列表。

    因为代码验证运行时检查的结果是依赖于先前检查的结果,它有助于通过运行时检查从开始到结束的一个函数。

另请参阅过滤和组结果在Polyspace桌面用户界面。一旦你缩小列表,你就可以开始评估个人的结果。这个主题描述了如何审查结果。

开始你的审查,选择列表中的一个结果。

解释结果

解释信息

第一步是了解问题是什么。读的消息结果细节面板和相关代码窗格。

在这一点上,你可能会准备好决定是否修复这个问题。

消息由几部分组成:

  • 检查颜色和图标:明白了颜色代码验证结果和源代码。运行时错误的检查:

    • :红色表示一个明确的错误。

    • :橙色表示一个可能的错误。

    • :灰色显示的代码。

    • :绿色表示一个特定的错误不会发生。

  • 描述运行时检查。

    在前面的例子中,检查确定如果数组索引数组边界之外。

  • 值相关的运行时检查。

    在这个示例中,消息状态数组大小(127),该数组界限(0。126),和值的范围,这一点的数组索引变量可以取代码中(0。555)。

  • 相关的来源不精确(橙色检查)。

    在这个示例中,消息指出,两个volatile变量可能负责检查。

在源代码工具提示看到变量范围

与工具提示强调窗格中,变量和操作。

在这个例子中,工具提示出现在:

  • s8_ret:你看到它之前的值的数据类型和范围+操作。

    如果出现数据类型转换+操作期间,你也可以看到这种转换的工具提示。

  • +:你看左和右操作数的值,和结果。

  • =:你看到任何数据类型转换发生在任务和结果。

获得额外的帮助

有时,你需要额外的帮助对于某些结果。打开一个帮助页面选择的结果,单击图标。看到代码示例演示结果。

找到根本原因的结果

有时,问题的根源可能是远离实际位置显示结果。例如,一个变量,你读可能non-initialized因为初始化是不可到达的。缺陷显示当你读变量,但问题的根源可能是以前的如果条件,总是错误的。

在导航源代码

有时候,结果细节窗格显示一个序列的事件导致的结果。然而,在大多数情况下,你必须找到自己的导航路径的代码。使用工具提示变量,变量范围的传播您浏览代码。

int func (int var){/ *初始范围的var * /…var - = ();/ *新范围的var * /…(var);/ *新范围的var * /}

在用户界面中使用这些快速导航路径:

  • 搜索所有引用一个变量并浏览它们。

    右键单击的变量名窗格中,选择搜索所有引用。另外,双击变量。这些选项执行超过一个字符串匹配。选择只显示一个特定的实例变量,而不是在其他范围具有相同名称的其他变量。

  • 导航从一个函数调用它的定义。

    右键单击函数名称窗格。选择去定义

  • 导航从一个函数来调用者和街道。

    单击图标结果细节窗格。你看到包含结果的函数,调用者和街道。单击一个调用者或被名称调用站点导航。双击导航到定义的名字。

    或者,单击图标的图形表示调用序列导致的结果。在这个序列导航功能,点击图中的节点。

  • 导航从一个函数调用或循环关键字错误函数或循环体。

    如果错误只发生在一个特定的函数调用或特定的循环迭代,函数调用或循环迭代红色突出显示。右键单击红色函数调用或循环的关键字。选择去原因如果选项是可用的。

  • 在一个全局变量的所有实例导航。

    单击图标结果细节窗格。看到所有全局变量在结果和读/写操作。

在你开始之前浏览路径在你的代码中,确定你正在寻找和选择合适的导航工具。例如:

  • 调查一个Non-initialized变量检查,你可能想要确保变量没有初始化。寻找以前的实例变量和是否初始化。

  • 调查违反MISRA - C: 2012规则17.7:

    一个函数返回的值非void返回类型应使用。
    您可能想要导航从函数调用的函数定义。

其他的例子去寻找什么,明白了审查代码验证运行时检查。你在远离当前的结果,使用后图标结果细节窗格中返回结果。

如果你点击一个源代码标记包含一个结果,前面的选择的结果结果列表和细节结果细节面板不改变。你可以继续导致结果列表和细节在源代码中导航时固定。有时,您可能希望看到结果关联到一个令牌。更新结果选择和细节,Ctrl点击标记或右键单击并选择在这个位置选择的结果

导航在单独的窗口

如果检查结果需要进一步导航源代码,您可以创建一个复制源代码窗口,关注结果,而你在原始源代码窗口中浏览。

右击在窗格中,选择创建重复的代码窗口。右键单击选项卡显示重复的文件名(结束产卵1),并选择新的垂直组

在复制文件窗口中执行导航步骤虽然缺陷仍然出现在原始文件窗口。调查完成后,关闭复制窗口。

相关的话题