检测要添加的值与指针的基本大小不匹配的指针添加。只能添加基本数据大小及其倍数的文字而不会出现错误 [...] ,仅将该整数值添加为字节数,而不是整数值乘以基本大小
。尽管只有当操作在数据类型中产生上溢或下溢时才会出现问题,但静态分析无法区分各个位置。 如果您在所有报告的位置中包含显式类型转换 [...] 检测数据类型小于寄存器大小的语句中临时结果的使用
FOR 循环很容易导致无限循环。要防止针对计数器变量的特定值执行循环 [...] SA0072:计数器变量的无效使用 [...] “iIndex”的使用无效 本节内容如下 :
,并且该变量不会占用任何永久内存 [...] SA0073:使用不充分的计数器变量 [...] POU 时都会初始化一个计数器变量
,然后包含注释以表明这一点。代码的读者很清楚,这个案例并没有被简单地遗忘。 重要性 [...] 重要 For CASE 使用带有属性的枚举的语句
分支。 理由:防御性编程需要处理枚举的所有可能值。如果特定枚举值不需要执行操作,则应添加注释以明确指出这一点。然后,代码的读者很清楚,该值并没有被简单地遗忘
表达式不匹配 检测条件数据类型与条件数据类型不匹配的代码位置 [...] :类型与 CASE 表达式不匹配 本节内容如下 : [...] ,则这可能表示错误。 重要性:低 例
的语句会浪费执行时间并且难以阅读 [...] : CASE iVar OF ELSE xTemp [...] 分支 检测到 CASE 没有的陈述
。这可能会导致运行时出现严重问题。最坏的情况是无限循环 [...] 循环的上边界必须是常量值 本节内容如下 : [...] 检测到 FOR 未使用常量值定义上限的语句