问题标签 [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 回答
83 浏览

pvs-studio - PVS Studio:从交叉编译器系统库中抑制 V677

我正在为 Cortex-M 处理器编译一个项目,它具有标准类型的编译器特定库。当我用 PVS-Studio 分析项目时,任何真正的积极因素都会被淹没

我对这个问题很熟悉,但在我的情况下,我必须使用编译器头文件并将编译器路径添加到排除列表并没有帮助,因为问题在于预处理后的包含。

有没有办法抑制来自包含文件夹的错误,或者抑制配置文件中的错误类型?

0 投票
1 回答
46 浏览

pvs-studio - CLMonitor 退出代码

不幸的是,文档没有提到 CLMonitor 实用程序是否以不同的代码退出(例如,区分是否在分析后发现错误)。

任何人都可以提供 CLMonitor 的退出代码列表吗?

0 投票
1 回答
163 浏览

c++ - PVS工作室分析

我在大学有一个项目,我需要使用任何工具对项目进行静态分析。我选择了这个用 C++ 编写的项目:https ://github.com/AndreaOrru/LaiNES和 PVS Studio 工具(在 linux 上)。但是,我有一个问题。这个项目没有 make 或 cmake 文件。这个项目有一个 Sconstruct 文件。
可以用 pvs 进行分析吗?如果不可行,我应该使用什么其他工具?

0 投票
1 回答
820 浏览

cmake - 为什么 PVS-Studio 要求 Linux 上的许可证文件(个人开发人员免费使用 PVS-Studio)?

我正在尝试使用 PVS-Studio 分析 Linux 上的项目。我已在所有源文件的顶部添加了必要的免责声明,如下所述:https ://www.viva64.com/en/b/0457/#ID16F8E8F09A (如何免费使用 PVS-Studio)

// 这是个人开发者的独立项目。亲爱的PVS-Studio,请查看。// 适用于 C、C++、C# 和 Java 的 PVS-Studio 静态代码分析器:http: //www.viva64.com

当我尝试构建我的项目时,我看到以下错误:

--- 剪断 ---

--- 剪断 ---

CMakeLists.txt 包含以下 PVS-Studio 特定命令:

如果上述 PVS-Studio 特定命令被注释掉/禁用,则项目构建得非常好。

根据上面链接的文章,我不应该需要许可证文件。

谢谢,

大卫

0 投票
2 回答
206 浏览

pvs-studio - PVS-Studio:未找到编译单元

我在基于 ubuntu:18.04 的 docker 镜像中使用 PVS-Studio 来交叉编译几个带有 arm-none-eabi-gcc 的文件。成功创建 strace_out 文件后pvs-studio-analyzer trace -- .test/compile_with_gcc.sh,它不是空的,并且包含对 arm-none-eabi-gcc 的调用。

但是pvs-studio-analyzer analyze抱怨“没有找到编译单元”。我尝试使用--compiler arm-none-eabi-gcc密钥没有成功。

有任何想法吗?

0 投票
2 回答
79 浏览

c++ - 将 const 限定对象传递给“std::move”

通过在PVS-Studio中进行一些代码分析,它给了我一些警告信息。

我在头文件中有以下语句:

在源文件中:

在上面的表达式中,我曾经强制std::move转换MIN_ALLOWED_Y为 xvalue,因为我认为std::make_pair只接受右值;

但我收到警告消息,例如:

这是一个有效的警告吗?如果是这样,那我该怎么办?我应该删除std::move(在这种情况下可能是多余的吗?)?

一个更好的问题是在哪里不使用std::move

0 投票
1 回答
167 浏览

c++ - 处理无符号整数

我知道无符号整数是臭名昭著的,C++ 开发人员通常会避免使用它。我有一个包含两个int不应包含负值的成员变量的类:

我以防止任何负数输入的方式设计了成员函数的逻辑。所以我确保这两个成员不会被赋予负值。
但是,当我使用PVS-Studio时,这也会带来一些警告。例如这里:

PVS-Studio 将索引归咎于我,rowcolumn不是memsize类型。这可能意味着我应该使用std::size_t rowand std::size_t column??
但是,如果我这样做了,那么它仍然会抱怨并说将无符号整数类型与getY_AxisLen( )(返回 an int)进行比较是危险的。
所以这就是我想重写我的类的一部分来切换到这个的原因:

我谦虚地寻求以前处理过此类问题的专业人士的见解和建议。当涉及到这些问题时,您会采取什么方法?