即使stdout中没有错误,cppcheck也会返回错误

时间:2018-01-29 15:27:46

标签: static-code-analysis cppcheck

我运行这样的命令:

./cppcheck file.cpp --inline-suppr --enable=all --error-exitcode=13 \
--quiet --suppress=missingInclude:* --suppress=unusedFunction:*  --inconclusive

stdout中没有任何内容,但是:

echo $?
13

同时,如果我检查其他文件,cppcheck什么都不写入stdout并返回0:

echo $?
0

我如何理解file.cpp的“错误”是什么?

2 个答案:

答案 0 :(得分:0)

我的 cppcheck 版本(有问题)是1.82。

我没有找到确切的问题(可以重现该问题的简单代码示例),但是我尝试了最后一个版本(目前为' Cppcheck 1.87 dev '),现在该问题已解决。 (对我来说)。

因此,如果您遇到同样的问题,请尝试升级 cppcheck

答案 1 :(得分:0)

我不知道这个答案的一般性,但是也许有人会觉得它有用。

我在DECLARE @elementB XML=@YourXml.query('<ElementB>{/Data/ElementA/*}</ElementB>'); -- ... and is inserted on a specific position SET @YourXml.modify('insert sql:variable("@elementB") after (/Data/ElementA)[1]'); SELECT @YourXml; 中包含的第三方库标头中也得到了相同的行为:cppcheck没有显示警告,但是没有计算了警告退出代码。加上-I可以解决问题。