您可以使用该kwcheck set-status
命令将缺陷的状态从分析更改为忽略或不是问题。例如,对于下面列出的缺陷:
1 (Local) foo.cpp:134 UNINIT.STACK.ARRAY.MIGHT (1:Critical) Analyze
'FRUSerial' array elements might be used uninitialized in this function.
2 (Local) foo.cpp:187 INFINITE_LOOP.LOCAL (2:Error) Analyze
Infinite loop
上面每个问题前面的数字是缺陷的 ID,作为kwcheck run
或的输出kwcheck list
。因此,要引用第二个缺陷并使用注释将状态设置为忽略,您将运行:
kwcheck set-status 2 --status ignore -c "we want to ignore this"
请注意,默认情况下kwcheck list
仅显示状态为“分析”或“修复”的缺陷,因此通过将状态设置为这些其他值之一,将不再显示缺陷。如果您想查看具有特定状态的缺陷列表,例如您设置为忽略的缺陷,您可以使用-s
or--status
选项kwcheck list
来指定要显示的状态。
如果要完全禁用特定检查器,可以使用kwcheck disable
命令禁用它们。这要求您已经创建了一个本地项目以使用该kwcheck create
命令进行分析。您甚至可以将本地项目创建为临时工件,以自定义和控制本地分析和结果。不需要将其与 Klocwork 服务器上的项目连接。例如:
创建本地项目:
kwcheck create
禁用检查器以检查您不想看到的缺陷:
kwcheck disable UNINIT.STACK.ARRAY.MIGHT INFINITE_LOOP.LOCAL
运行分析:
kwcheck run -b buildspec.out