下面的代码使用cppcheck (1.86-r0)将结果打印到一个xml文件。但是,控制台输出仍然完全为空。
cppcheck --quiet --error-exitcode=1 --xml --xml-version=2 --output-file=CPPCheckReport.xml --inline-suppr --enable=warning ./src
另外,指定模板(将--template=vs
添加到上面的命令)不起作用,这里优先使用输出文件
如何在控制台中存储xml (我后来使用convert into JUnit)并输出有意义的消息(这是我更好地理解CI工作所需要的)?
发布于 2020-09-11 03:49:11
我不相信cppcheck
能做到这一点,但是您也许能够通过处理XML输出文件来获得有意义的消息。例如,如下所示:
cppcheck --all-your-options-from-above
grep -E '<location ' CPPCheckReport.xml | sed 's/^ *//'
上面的grep
为发现的错误提取所有位置行,而sed
只删除前导空格。也许其他处理可能是有用的,这取决于您认为什么是“有意义的消息”。
上面的示例运行cppcheck
,然后处理输出文件。如果cppcheck
很慢,您可能更喜欢将cppcheck
输出发送到stderr,而不是输出文件,使用tee
将其发送到输出文件,然后通过管道将输出直接发送到grep
。这样,您就可以在生成错误时看到错误。
https://stackoverflow.com/questions/58767760
复制相似问题