问题标签 [klocwork]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
205 浏览

git - Jenkins + Git/Gerrit + 增量 Klocwork 扫描

所以我们有一个 Jenkins 服务器,我们使用 gerrit 对我们的开发分支进行代码审查,我们安装了 Klocwork 社区插件。

我们的 Jenkins 生成的构建是对 Gerrit 补丁集推送的 +1 验证投票。

目前,我们只在合并的 Develop 分支上每隔几个小时扫描一次 Klocwork,而我希望对每个补丁集推送执行增量/差异扫描,以防止不良代码首先通过。

所以我在我们的 Jenkins 构建配置中设置了 Klocwork 插件,但是当我添加增量扫描构建步骤时,因为我们使用的是 Git,它需要我输入一个 Previous Commit SHA。我已经尝试了一切,但没有成功。

我试过 $GIT_PREVIOUS_SUCCESSFUL_COMMIT,但它似乎没有用,而且对我们来说似乎是错误的,因为之前的 Jenkins 提交可能基于完全不同的分支(父),所以变化的差异没有意义。

然后我们想到,它应该比较的上一个提交是父 SHA,不一定是最后一个 Jenkins 构建,它可能在也可能不在同一个分支上。
因此,我在构建之前添加了一个 Windows 批处理文件构建步骤,该步骤使用 git log 获取父 SHA1,将其通过管道传输到文件,然后使用 SET 使用该 SHA1 设置像 PARENT_COMMIT 这样的环境变量,然后我尝试在其中使用 %PARENT_COMMIT% Klocwork 增量的“Previous Commit SHA”区域,构建失败,因为它找不到 var。

我觉得这是很常见的事情,所以解决方案一定是愚蠢的简单,我们让它变得比它需要的更复杂,但我一辈子都找不到任何文件告诉我到底该放什么在这个盒子里。

请帮忙 :)

谢谢!

0 投票
1 回答
273 浏览

c# - klocwork 错误 - 对函数“GetTokenResponseAsync”的调用可能为空,并将被取消引用

我收到 Klocwork 错误,

在第 101 行调用函数“GetTokenResponseAsync”返回的引用“this.GetTokenResponseAsync(cancellationToken)”可能为空,并将在第 101 行取消引用

这是代码,

这意味着tokenResponse可以为空吗?如何解决这个问题?

0 投票
2 回答
208 浏览

c - 了解 Klocwork 位运算符号

用 klocwork 分析时,下面这行

给出错误

按位运算的操作数类型为“有符号字符”而不是“无符号整数”

我已经通过删除任何问题将问题减少到最低限度,#define并且完全不知道为什么会发生这种情况。

0 投票
1 回答
35 浏览

static - 可以使用什么静态分析工具来捕获条件流上的错误?

我一直在查看维基百科中的一些静态分析工具。我正在检查每个工具的功能。

*-自动变量检查

- 边界检查数组溢出

- 班级检查

ETC。*

我真的不确定下面是什么能力:

能够检查条件语句中使用的变量是否正确分配,以便它进入或忽略语句。

示例 1:

bool flag = false;

if( flag == true){

process1();

}

该工具应该指出第 2 行是不正确的,因为它总是错误的。

示例 2:

bool flag = false;

flag = updateFlag();

if( flag == true){

process1();

}

该工具不应指出任何内容,因为变量在用作条件之前可能会发生变化。

0 投票
0 回答
33 浏览

c# - klocwork 错误 - 在第 151 行检查为 null 的引用“SchoolDataSet”将在第 153 行取消引用

解决此 Klocwork 错误的解决方案是什么,

在第 151 行检查为 null 的引用“SchoolDataSet”将在第 153 行取消引用

0 投票
4 回答
5531 浏览

static-analysis - clang-tidy 或 cppcheck 等工具与 klocwork 相比如何?

这些工具之间有根本区别吗?毕竟klocwork比较贵,其他的都是免费的?两者都在遵循一些规则后进行静态代码分析。

规则的质量是否存在差异?它只取决于规则吗?你的经验是什么?

0 投票
1 回答
268 浏览

visual-studio - 有没有办法在没有解决方案的情况下使用 Visual Studio 的 Klocwork 插件?

我已经为 Visual Studio 安装了 Klocwork 插件。我正在使用 CMake 项目,因此我没有 Visual Studio 文件 (.sln)。我无法修改 klocwork 插件中的“解决方案属性”,我想知道是否可以使用该插件。我正在使用 VS2017。

我希望在 Visual Studio 上看到对 Klocwork 的实时分析。

0 投票
0 回答
193 浏览

c++ - c ++ lambda已使用但未初始化

这是我的代码,我得到 klocworks 错误 'value' is used uninitialized in this function。

reduce_to 函数

foreach 函数

我的解决方案是:

我试图理解为什么 klocworks 认为这是一个错误?

你觉得我的解决方法好吗?我测试了它,它看起来可以工作。

0 投票
1 回答
602 浏览

c++ - 缓冲区溢出 - 数组索引超出范围(严重)

这是我的代码。

这是我得到的错误。


这是 rgb 的定义

这是 point_rgb 的定义

这是 point_xyz 的定义

有人可以建议如何解决这个问题吗?我真的不明白这个发条错误。

0 投票
1 回答
138 浏览

static-analysis - klocwork:kwconan 失败并显示“错误:无法继续:无法验证表”

我正在尝试在我的代码库上运行本地 klocwork 扫描,但我一直失败。

我的步骤:

  1. kwinject 制作
  2. kwbuildproject --url https://hostname:8080/project -tables-directory KW_Tables kwinject.out
  3. kwconan 运行 --tables-directory KW_Tables --url https://hostname:8080/project --json

注意:此处粘贴的命令中未显示真实主机名。

最后一个命令 (kwconan) 总是失败并出现以下错误:

“错误:无法继续:无法验证表”

我试图在网上查找,但没有找到任何有用的文档。你有什么主意吗?