【问题标题】:Is there a list of Cppcheck messages?是否有 Cppcheck 消息列表?
【发布时间】:2015-10-13 05:13:22
【问题描述】:

我们的团队之前使用Lint 作为静态代码分析器,但它变得太杂乱,噪音太大。

我们使用的是 C++03,经常使用 Boost,而 Lint 似乎不喜欢 Boost(我听说这在以后的版本中变得更好了)。我开始查看其他静态代码分析器并遇到Cppcheck 并尝试了它。它警告的内容给我留下了深刻的印象(我已经看到了十几个信息和风格问题)。

我感兴趣的是:是否有Cppcheck发出的所有Cppcheck消息的列表,类似于how LintPVS-Studio都有他们的消息列表?@ 987654326@名单:

  • 越界检查
  • 内存泄漏检查
  • 检测可能的空指针取消引用
  • 检查未初始化的变量
  • 检查 STL 的无效使用
  • 检查异常安全
  • 警告如果使用过时或不安全的功能
  • 警告未使用或冗余代码
  • 检测各种指示错误的可疑代码

但我对类似于 Lint 和 PVS-Studio 的东西更感兴趣,并且类似于结果在 Visual Studio 中的显示方式:

ID | Category/Severity | Text

【问题讨论】:

    标签: static-analysis cppcheck


    【解决方案1】:

    at the project's wiki 提供了 Cppcheck 检查列表,并且如那里所述,您还可以通过运行从命令行获取该列表:

    $ cppcheck --doc
    

    $ cppcheck --errorlist
    

    errorlist 会输出一个 XML 文件,其中包含您想要的所有三件事。下面是一个小例子:

    <error id="unnecessaryForwardDeclaration" severity="style" msg="The variable &apos;name&apos; forward declaration is unnecessary. Type variable is already declared earlier."/>
    <error id="variableHidingEnum" severity="style" msg="variable &apos;name&apos; hides enumerator with same name"/>
    <error id="unnecessaryQualification" severity="style" msg="The extra qualification &apos;type&apos; is unnecessary and is considered an error by many compilers."/>
    

    【讨论】:

    • 谢谢!这正是我所需要的。快速跟进:是否可以将--errorlist xml 输出到文件,而不是命令窗口?
    • 您可以为此使用重定向:cppcheck --errorlist &gt; errorlist.xml
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 2021-12-23
    • 2011-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多