主要内容

解释波尔盖斯错误发现者结果

当你打开一个结果波尔盖斯®bug finder™分析,你看到了一个列表结果清单窗格。结果包括缺陷,编码规则违规或代码指标。

您可以首先缩小您的评论的重点:

  • 在结果列表列上使用过滤器缩小列表。例如,您可以专注于高冲击缺陷。

  • 按文件或结果系列组织结果。使用图标上方的列表。

缩小列表后,您可以开始查看个人结果。本主题介绍如何查看结果。

要开始查看,请在列表中选择结果。

解释结果细节消息

解释消息

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

寻求额外的资源以获取帮助

有时,您需要额外的帮助来实现某些结果。点击图标,以打开所选结果的帮助页面。参见演示结果的代码示例。检查外部标准,如CWE或CERT-C,这些标准为解决问题提供了额外的理由。

此时,您可以准备好决定是否解决问题。一旦确定了修复,它可能有助于查看该类型的所有结果。

找到结果的根本原因

有时,根本原因可能远离显示结果的实际位置。例如,您读取的变量可能是未初始化的,因为初始化无法访问。读取变量时显示缺陷,但根本原因可能是之前的如果总是为假的条件。

导航到相关事件

通常是结果细节窗格显示一个导致结果的事件序列。的窗格还突出了这些事件。

在上面的事件回溯中,显示了以下序列:

  1. 一个变量价值被宣布为。

  2. 执行路径绕过an如果声明。函数中初始化变量时,这个信息可能是相关的如果堵塞。

  3. 当前缺陷的位置:非初始化变量

通常,回溯显示控制流程中的主要点:输入或绕过条件语句或循环,输入函数,等等。对于特定缺陷,回溯显示与缺陷相关的其他类型的事件。例如,对于一个声明不匹配缺陷,回溯显示了具有冲突声明的两个位置。

创建自己的导航路径

如果未使用事件回溯,请使用其他导航工具通过代码跟踪自己的路径。

在您开始通过您的代码中的路线导航之前,请询问问题:我在找什么?根据您的答案,选择适当的导航工具。例如:

  • 调查A.非初始化变量缺陷,您可能希望确保不会初始化变量。要查找以前的变量实例,请参阅窗格,右键单击变量并选择搜索所有参考。或者,双击变量。这些选项仅显示特定变量的实例,而不是其他范围内具有相同名称的其他变量。

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

    应使用具有非void返回类型的函数返回的值。
    您可能希望从函数调用导航到函数定义。右键单击该函数并选择转到定义

导航离开当前结果后,使用icon上的图标结果细节窗格回来。

如果单击包含结果的源代码令牌,则之前的结果选择结果清单和关于的细节结果细节窗格不会改变。在源代码中导航时,可以将结果保存在结果列表中,并固定结果细节。有时,您可能希望看到与令牌相关联的结果。若要更新结果选择及详情,Ctrl.- 单击令牌或右键单击并选择在此位置选择结果

在单独的窗口中导航

如果评审一个结果需要在源代码中进行更深入的导航,那么您可以创建一个重复的源代码窗口,当您在原始源代码窗口中导航时,它将重点放在结果上。

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

在原始文件窗口上显示缺陷时,在“缺陷”仍然显示“缺陷”窗口中执行重复文件窗口中的导航步骤。调查结束后,关闭重复窗口。

相关的话题