【发布时间】:2020-07-20 09:18:55
【问题描述】:
我在 Jenkins 中运行 cppcheck 以获得 Visual Studio 解决方案。
不幸的是,我反复出现错误,因此 cppcheck-run 的结果如下所示:
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
这是我的 Jenkins shell 命令:
cppcheck --project="C:\FancyCode.sln" --xml --xml-version=2 $WORKSPACE 2> cppcheck.xml
我想知道是不是因为解析了解决方案文件以及其中包含的所有标题?
我只是使用了不正确的标志吗?我认为不主动启用所有功能就足够了......
我想让它们被提及一次,也在摘要中,而不是重复 600 次。
感谢您的努力和时间!
================================================ ============================== 编辑:
这是 xml 文件的输出。首先它显示了一些没有 xml 样式正文的乱码:
memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' ......更多相同的...... varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA varA varA hServSock memset 'std::chrono::time_point' varA varA pProcessName pProcessName memset 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA newBody newBody newBody newBody memset 'std::chrono::time_point' varA varA varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA varA varA varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' 内存集 'std::string' 内存集 'std::string' memset 'std::string' memset 'std::string' varA varA memset 'std::chrono::time_point' 内存集 'std::string' 内存集 'std::string' memset 'std::string' memset 'std::string' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::string' memset 'std::string' memset 'std::string' memset 'std::string' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' 内存集 'std::string' 内存集 'std::string' memset 'std::string' memset 'std::string' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' 内存集 'std::chrono::time_point' 内存集 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' memset 'std::string' memset 'std::string' memset 'std::string' memset 'std::string' varA varA memset 'std::chrono::time_point' memset 'std::string' memset 'std::string' 内存集 'std::string' 内存集 'std::string' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' 内存集 'std::chrono::time_point' 内存集 'std::chrono::time_point' varA varA mode mode memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA memset 'std::chrono::time_point' varA varA 此 XML 文件 似乎没有任何与之关联的样式信息。这 文档树如下所示。
然后它会进一步使用 cppcheck 的 xml 样式输出,但它也会在那里重复错误。正如我所看到的,它也会做出这样的事情:
File123.h line 132 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
File123.h line 132 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 91 error memsetClass false Using 'memset' on class that contains a 'std::string'
FileXYZ.h line 92 error memsetClass false Using 'memset' on class that contains a 'std::string'
File123.h line 132 error memsetClass false Using 'memset' on class that contains a 'std::string'
这可能是计时错误的具体问题吗?我将尝试使用计时错误排除此文件,如果解决了它,我将向 cppcheck 写一个错误报告?!
谢谢,如果你有其他想法,我会很高兴,因为这样 cppcheck 在 Jenkins 中是没用的。
【问题讨论】: