当你打开一个结果波尔盖斯®bug finder™分析,你看到了一个列表结果清单窗格。结果包括缺陷,编码规则违规或代码指标。
您可以首先缩小您的评论的重点:
在结果列表列上使用过滤器缩小列表。例如,您可以专注于高冲击缺陷。
按文件或结果系列组织结果。使用图标上方的列表。
缩小列表后,您可以开始查看个人结果。本主题介绍如何查看结果。
要开始查看,请在列表中选择结果。
第一步是了解有什么问题。阅读上的消息结果细节窗格和相关的代码线源窗格。
有时,您需要额外的帮助来实现某些结果。点击图标,以打开所选结果的帮助页面。参见演示结果的代码示例。检查外部标准,如CWE或CERT-C,这些标准为解决问题提供了额外的理由。
此时,您可以准备好决定是否解决问题。一旦确定了修复,它可能有助于查看该类型的所有结果。
有时,根本原因可能远离显示结果的实际位置。例如,您读取的变量可能是未初始化的,因为初始化无法访问。读取变量时显示缺陷,但根本原因可能是之前的如果
或而
总是为假的条件。
通常是结果细节窗格显示一个导致结果的事件序列。的源窗格还突出了这些事件。
在上面的事件回溯中,显示了以下序列:
一个变量价值
被宣布为。
执行路径绕过an如果
声明。函数中初始化变量时,这个信息可能是相关的如果
堵塞。
当前缺陷的位置:非初始化变量
通常,回溯显示控制流程中的主要点:输入或绕过条件语句或循环,输入函数,等等。对于特定缺陷,回溯显示与缺陷相关的其他类型的事件。例如,对于一个声明不匹配缺陷,回溯显示了具有冲突声明的两个位置。
如果未使用事件回溯,请使用其他导航工具通过代码跟踪自己的路径。
在您开始通过您的代码中的路线导航之前,请询问问题:我在找什么?根据您的答案,选择适当的导航工具。例如:
调查A.非初始化变量缺陷,您可能希望确保不会初始化变量。要查找以前的变量实例,请参阅源窗格,右键单击变量并选择搜索所有参考。或者,双击变量。这些选项仅显示特定变量的实例,而不是其他范围内具有相同名称的其他变量。
调查违反MISRA C:2012规则17.7:
应使用具有非void返回类型的函数返回的值。
导航离开当前结果后,使用icon上的图标结果细节窗格回来。
如果单击包含结果的源代码令牌,则之前的结果选择结果清单和关于的细节结果细节窗格不会改变。在源代码中导航时,可以将结果保存在结果列表中,并固定结果细节。有时,您可能希望看到与令牌相关联的结果。若要更新结果选择及详情,Ctrl.
- 单击令牌或右键单击并选择在此位置选择结果。
如果评审一个结果需要在源代码中进行更深入的导航,那么您可以创建一个重复的源代码窗口,当您在原始源代码窗口中导航时,它将重点放在结果上。
右键点击源窗格中,选择创建重复的代码窗口。右键单击显示重复文件名的选项卡(结束- 奉献1
),并选择新的垂直组。
在原始文件窗口上显示缺陷时,在“缺陷”仍然显示“缺陷”窗口中执行重复文件窗口中的导航步骤。调查结束后,关闭重复窗口。