1

我们有一个具有单一代码库的项目,我们在 Windows 和 Linux 上构建。我们想在 Windows 和 Linux 上运行 Klocwork 代码分析。目前我们的做法是:

  • 我们在 Web UI 中设置了一个 KW 项目
  • 在Linux上注入和构建,将结果推送到服务器,保存报告
  • 在 Windows 上注入和构建,将结果推送到服务器,保存报告

它以某种方式起作用,但问题是后者扫描有效地覆盖了第一个扫描的结果。如果我们在推送后直接保存报告,那么我们仍然可以保存副本,但是如果开发人员想要分类/分析仅在第一次构建中存在的命中(即一些 Linux 特定代码),那么几乎不可能,因为 KW已将此命中标记为“过时”(因为它在 Windows 扫描中不存在)

拥有两个项目并不是一个真正的选择,因为 90% 的代码是共享的,这将导致开发人员对相同的命中进行两次分类的巨大开销。

4

1 回答 1

1

有多种选择可以实现您的目标。

选项 1:项目下有一个名为 Builds 的选项卡。这可以为您提供构建链报告。在这里你可以看到以前构建的报告。

选项 2:您是否使用 Klocwork 桌面工具(插件/kwcheck)?如果是,开发人员将被自动通知他在他的机器上产生的新缺陷/问题。因此,开发人员审查 Klocwork 门户可能只是为了查看他创建的所有问题。

选项 3:我看到您提到 90% 的代码已共享。这是否意味着,您的项目需要 windows dll 和 Linux 库一起构建您的项目?

如果答案是肯定的,请告诉我。我会考虑一些可能的解决方法。

如果答案是否定的,那么创建 kwtables 是一次工作,从第二次开始 Klocwork 可以执行增量分析 ( kwbuildproject ....... --incremental)

选项 4:创建多个项目不是一个坏选择。可以复制现有的项目设置,并且可以同步问题状态。当您将结果推送到 Klocwork 服务器时,结果将从 Build Machine 推送到 Klocwork web/database 服务器并创建/projects_root/My_Project/builds/My_Build_Name/目录。因此,维护两个 Klocwork 项目不会有太大的不同。

选项 5:安排与 Klocwork 支持团队的通话。他们将很乐意以最好的方式为您提供帮助。

我希望这有帮助。

于 2020-06-13T08:49:38.190 回答