【问题标题】:Static-code analyzer: unmanaged C++ Visual Studio 2008静态代码分析器:非托管 C++ Visual Studio 2008
【发布时间】:2009-04-11 05:52:31
【问题描述】:

我在 Visual Studio 2008 上开发商业非托管 C++ 应用程序,我想添加一个静态代码分析工具。

有什么建议吗?

我认为如果该工具可以集成到 MSVC 中,那就太好了。

我在考虑PC-Lint + Visual Lint

不过,我也一直在认真研究 CoverityUnderstandKlockwork

价格并不是真正的问题。我希望得到那些在 MSVC 上实际使用过 非托管 C++ 工具的人的意见,他们非常喜欢它。

最后,VSTS 和 Intel Parallel Studio 现在还提供静态代码分析。不错~

注意:相关 post 建议 Coverity 是最好的 (?)(请参阅最后 2 个帖子)

【问题讨论】:

  • 在我看来是重复的:见 stackoverflow.com/questions/97454/…>。
  • 如果您还概述了所需的分析类型,这将很有用。作为为 S.A. 工具供应商工作的人(此处未列出 :( )如果您列出您想要的检查类型将会很有用:例如编码标准执行、流程分析、设计建议等。

标签: c++ visual-studio visual-c++ static-analysis


【解决方案1】:

除了您提到的所有内容之外,VS Team Developer 版本还捆绑了一个名为 prefast 的不错的静态分析工具。它(显然......)很好地集成到了 IDE 中,并且可以通过菜单访问。 它实际上是一个 MS 内部工具的公开版本——一个名为 Prefix 的工具的精简版本,它们在他们的构建上运行。就我个人而言,当我面临同样的决定时,prefast 就足够了。

【讨论】:

    【解决方案2】:

    我为 RedLizard 构建 Goanna 工作,这是一个用于 Visual Studio 的 C++ 静态分析插件。它的重点是程序员使用桌面。您可以在单个文件上运行它,就像在编译器中一样,它可以快速为您提供结果。

    有一个trial available。右键单击一个文件,选择 Run Goanna,结果会出现在 Visual Studio 警告列表中。

    【讨论】:

      【解决方案3】:

      你可以试试CppDepend,一个相当完整的 c 和 c++ 静态分析器,与 VS 2008、2010、2012、2013 和 2015 很好地集成。

      【讨论】:

        【解决方案4】:

        我刚开始使用cppcheck,因为它的噪音很低,我非常喜欢它。

        虽然它不直接与 Visual Studio 2008 集成,但可以自定义 VS,您应该可以将它直接集成到 IDE 中。

        【讨论】:

          【解决方案5】:

          我使用PVS-Studio static code analyzer。 这个静态代码分析器很好地与 Visual Studio 2005、2008、2010、2012、2013 集成。

          它有许多附加功能:

          1. 验证几天前最近修改过的文件;

          2. 通过文本文件中的文件名验证文件 列表;

          3. 版本控制系统集成;从命令行操作的能力 界面;

          4. «误报»标记;保存和加载分析 结果;

          5. 利用所有可用的内核和处理器;

          6. 等等……

          【讨论】:

          • 我无法使用 VS 2008 运行。我得到:“编译器版本 15.0.30729.1 不受支持。PVS-Studio 支持 Visual C++ 编译器版本 16 (Visual Studio 2010) 及更高版本。”
          • 没错——他们停止了支持:viva64.com/en/b/0362/#ID0EXFAC 并且他们的旧版本 5.xx 无法下载。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2012-03-14
          • 2010-11-11
          • 2022-01-04
          • 2010-09-09
          相关资源
          最近更新 更多