问题标签 [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.
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。
我觉得这是很常见的事情,所以解决方案一定是愚蠢的简单,我们让它变得比它需要的更复杂,但我一辈子都找不到任何文件告诉我到底该放什么在这个盒子里。
请帮忙 :)
谢谢!
c# - klocwork 错误 - 对函数“GetTokenResponseAsync”的调用可能为空,并将被取消引用
我收到 Klocwork 错误,
在第 101 行调用函数“GetTokenResponseAsync”返回的引用“this.GetTokenResponseAsync(cancellationToken)”可能为空,并将在第 101 行取消引用
这是代码,
这意味着tokenResponse
可以为空吗?如何解决这个问题?
c - 了解 Klocwork 位运算符号
用 klocwork 分析时,下面这行
给出错误
按位运算的操作数类型为“有符号字符”而不是“无符号整数”
我已经通过删除任何问题将问题减少到最低限度,#define
并且完全不知道为什么会发生这种情况。
static - 可以使用什么静态分析工具来捕获条件流上的错误?
我一直在查看维基百科中的一些静态分析工具。我正在检查每个工具的功能。
*-自动变量检查
- 边界检查数组溢出
- 班级检查
ETC。*
我真的不确定下面是什么能力:
能够检查条件语句中使用的变量是否正确分配,以便它进入或忽略语句。
示例 1:
bool flag = false;
if( flag == true){
process1();
}
该工具应该指出第 2 行是不正确的,因为它总是错误的。
示例 2:
bool flag = false;
flag = updateFlag();
if( flag == true){
process1();
}
该工具不应指出任何内容,因为变量在用作条件之前可能会发生变化。
c# - klocwork 错误 - 在第 151 行检查为 null 的引用“SchoolDataSet”将在第 153 行取消引用
解决此 Klocwork 错误的解决方案是什么,
在第 151 行检查为 null 的引用“SchoolDataSet”将在第 153 行取消引用
static-analysis - clang-tidy 或 cppcheck 等工具与 klocwork 相比如何?
这些工具之间有根本区别吗?毕竟klocwork比较贵,其他的都是免费的?两者都在遵循一些规则后进行静态代码分析。
规则的质量是否存在差异?它只取决于规则吗?你的经验是什么?
visual-studio - 有没有办法在没有解决方案的情况下使用 Visual Studio 的 Klocwork 插件?
我已经为 Visual Studio 安装了 Klocwork 插件。我正在使用 CMake 项目,因此我没有 Visual Studio 文件 (.sln)。我无法修改 klocwork 插件中的“解决方案属性”,我想知道是否可以使用该插件。我正在使用 VS2017。
我希望在 Visual Studio 上看到对 Klocwork 的实时分析。
c++ - c ++ lambda已使用但未初始化
这是我的代码,我得到 klocworks 错误 'value' is used uninitialized in this function。
reduce_to 函数
foreach 函数
我的解决方案是:
我试图理解为什么 klocworks 认为这是一个错误?
你觉得我的解决方法好吗?我测试了它,它看起来可以工作。
c++ - 缓冲区溢出 - 数组索引超出范围(严重)
这是我的代码。
这是我得到的错误。
这是 rgb 的定义
这是 point_rgb 的定义
这是 point_xyz 的定义
有人可以建议如何解决这个问题吗?我真的不明白这个发条错误。
static-analysis - klocwork:kwconan 失败并显示“错误:无法继续:无法验证表”
我正在尝试在我的代码库上运行本地 klocwork 扫描,但我一直失败。
我的步骤:
- kwinject 制作
- kwbuildproject --url https://hostname:8080/project -tables-directory KW_Tables kwinject.out
- kwconan 运行 --tables-directory KW_Tables --url https://hostname:8080/project --json
注意:此处粘贴的命令中未显示真实主机名。
最后一个命令 (kwconan) 总是失败并出现以下错误:
“错误:无法继续:无法验证表”
我试图在网上查找,但没有找到任何有用的文档。你有什么主意吗?