问题标签 [pvs-studio]

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 回答
1175 浏览

sonarqube - PVS 工作室与 sonarqube 的比较

我最近遇到了 PVS Studio。我想知道 PVS Studio 与 SonarQube 有何不同。我看到,这两个工具都执行静态代码分析。我试图了解哪个是最好的选择工具。

任何见解都是有帮助的。

最好的问候戈瑟姆

0 投票
1 回答
51 浏览

pvs-studio - PVS-Studio:即使检查了指针也会生成警告 V595

nullptr在以下代码中,(1)中已经存在检查:

但我仍然得到error: V595。为什么?

我同意 (3) 中存在超额检查nullptr

0 投票
1 回答
45 浏览

pvs-studio - PVS-Studio:即使检查了 COM 方法结果,也会生成警告 V595

(1) 如果结果IMoniker::BindToObjectS_OK则返回的指针是有效的。但 PVS-Studio 将其标记为 V595。为什么?

(2) 如果QueryInterface成功则返回指针有效。但 PVS-Studio 将其标记为 V595。为什么?

0 投票
1 回答
39 浏览

pvs-studio - PVS-Studio:即使检查了分母,也会生成警告 V609

y如果 ,则不会评估x < 1,但会生成 V609。为什么?

0 投票
1 回答
58 浏览

pvs-studio - PVS-Studio:V641 - WIN API 结构的误报

最后一个成员WCHAR Name[1]被假定为一个字符串。这是一个众所周知的技术。

但是下面的代码会生成 V641。为什么?

0 投票
1 回答
59 浏览

pvs-studio - V3125 返回后有空语句时误报

这个最小的示例触发 V3125member在针对 null 进行验证后被使用。如果我在第一个返回语句 V3125 不再触发后删除了多余的分号。

0 投票
1 回答
250 浏览

pvs-studio - 使用通配符排除 PVS-Studio 配置文件中的路径

我想从分析中排除第 3 方库。

但它不起作用。我在输出日志中仍然有与 Boost 相关的消息。

如何根据通配符过滤掉消息?

0 投票
2 回答
150 浏览

pvs-studio - 如何摆脱 V677:标准类型警告的自定义声明

我们将 PVS Studio(开源项目的免费变体)与 travis-ci 结合使用,出于某种原因,它会为位于以下位置的文件产生错误/usr/local/clang-3.5.0/lib/clang/3.5.0/include

这个位置看起来像是非标准编译器的“系统”头文件示例,并且远离项目根目录(AFAIR 位于 /home:标准 travis 位置)。脚本运行使用来自https://www.viva64.com/en/pvs-studio-download-linux/的最新版本,最新运行时间为“Mon Jul 3 20:13:42 UTC 2017”(不幸的是,未保存使用的版本)。

0 投票
1 回答
44 浏览

pvs-studio - 在 DateTime 触发器上使用 DateTimeKind V3058

dict1触发 V3058 “V3058 已添加具有相同键 '1' 的项目。”。

https://www.viva64.com/en/w/V3058/声明它会警告问题,这将导致 ArgumentException。这显然不是这里的情况,因为键是不同的。

离开DateTimeKind.UTCctor 会停止触发 V3058。

0 投票
1 回答
145 浏览

c++ - PVS-Studio 抱怨浮动比较

我用 PVS Studio 分析器扫描了我的代码,我对为什么会出现这个错误以及如何解决这个问题感到困惑。

V550 一个奇怪的精确比较:* dest == value。使用具有定义精度的比较可能会更好:fabs(A - B) < Epsilon。

我猜想像这样更改代码: