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

c# - V3022 误报

PVS Studio 抛出 V3022:表达式“list.Count > 1”始终为假。程序.cs 20

这是误报吗?

0 投票
1 回答
245 浏览

c - 如何从 Windows 7 的命令行运行 PVS Studio?

我是 PVS 工作室的新手。我已经以独立模式安装它(没有 Visual Studio)。我想从 Windows 7 Professional 64 位的命令行(从 Cygwin64 终端)运行 PVS Studio。我只想静态分析一个文件'main.c'。我使用官方文档:https ://www.viva64.com/ru/m/0006/#ID0E2H 。我想检查位于我的测试文件“main.c”中的简单代码段:

我的代码片段由'mingw32-make.exe'成功编译。我已经从命令行运行了这些命令(在用户模式下从 Cygwin64 终端,而不是在管理员模式下):

文件“PVS-Studio.cfg”的内容:

文件'output.txt'的内容:

发生错误“V008”。如何解决此错误?我已阅读此文档:https ://www.viva64.com/ru/w/v008/ ,但不明白哪里有错误?

0 投票
1 回答
267 浏览

pvs-studio - 集成 PVS-Studio 和 CMake

我使用 Windows 10、QtCreator 4.7.1、CMake 3.11.4(Ninja、CodeBlocks)、MSVC 2017。尝试将 PVS-Studio 集成到 CMake 项目中。

我收到错误

知道该怎么做吗?

0 投票
1 回答
164 浏览

visual-studio - 如何在没有 Visual Studio 的情况下使用 PVS-Studio 运行 .NET Core 项目?

我有PVS-Studio的免费许可证,并且我将程序安装到 Windows 10 计算机上没有问题。我通过Standalone.exe提供了注册信息,注册成功。此计算机未安装 Visual Studio(仅 Dotnet core SDK 和 Visual Studio Code)

当我尝试用它运行 dotnet core 项目时

PVS-Studio_Cmd.exe -t C:\Users\someuser\projects\myproject.csproj

我收到以下错误

PVS-Studio 命令行分析器 7.0.29703.1460 版权所有 (c) 2008-2019 OOO “程序验证系统” 使用默认设置文件:C:\Users\someuser\AppData\Roaming\PVS-Studio\Settings.xml 异常消息:导入的未找到项目“C:\Windows\Microsoft.NET\Framework64\15.0\Microsoft.Common.props”。此外,尝试在 $(MSBuildExtensionsPath) - "C:\Program Files (x86)\MSBuild" 的后备搜索路径中找到 "\15.0\Microsoft.Common.props" 。这些搜索路径在“c:\Program Files (x86)\PVS-Studio\PVS-Studio_Cmd.exe.Config”中定义。确认声明中的路径正确,并且该文件存在于磁盘上的搜索路径之一中。C:\Program Files\dotnet\sdk\2.1.301\Sdks\Microsoft.NET.Sdk\Sdk\Sdk.props

那么我应该如何解决这个问题呢?

可以使用dotnet build命令正确构建项目。

0 投票
1 回答
170 浏览

c# - PVS Studio 抑制整个 C# 文件的单一警告

我正在尝试使用https://www.viva64.com/en/m/0017/中找到的语法来抑制对整个 C# 文件的警告。

根据文件//-V::3085开头的文档,应该抑制文件中的所有 V3085 警告。

使用以下代码,我仍然看到警告。我究竟做错了什么?

0 投票
0 回答
24 浏览

c++ - 为什么 PVS-Studio 声明存在非常量参考?

我必须首先承认我对 C++ 的经验很少,所以如果这个问题看起来有些愚蠢,请原谅我。

在使用 PVS-Studio 分析项目时,我发现了一个令人费解的元素。这是重现问题的代码:

当然,这里不需要这个赋值运算符,但问题就在 PVS-Studio 生成的警告中:

V790 赋值运算符通过非常量引用获取对象并返回该对象,这很奇怪。

(强调我的)

我不知道该怎么想。这个非常量引用在哪里?赋值运算符的参数是const Test &,即它似乎是常量引用。此外,return test仅当分配无论如何都是无操作时才执行,即返回*this并且test应该没有区别。

这是误报,还是我根本不明白什么?

0 投票
2 回答
202 浏览

pvs-studio - 我可以使用 PVS-Studio 分析我不参与的开源项目吗?

来自以下博客文章

请注意,此模式并非旨在评估此软件。请使用演示版或申请临时许可证密钥来试用分析仪。

我是否理解正确,我不能将以下注释部分添加到开源项目中的每个源文件中,以便使用 PVS-Studio 对其进行分析?

因为否则这将是软件评估的事实,我需要为此下载 PVS-Studio 的演示版本?考虑到我不是我想分析的项目的维护者,而只是一个想收集静态分析报告并将其发送给项目维护者的人。

0 投票
1 回答
246 浏览

c++ - 在 Linux 上使用 CMake 时,如何告诉 PVS-Studio 忽略第三方库中的所有文件

我在 Linux 上使用 PVS-Studio 和 CMake。我最近在我的项目中添加了一个第三方库。

PVS-Studio 正在标记第三方库的头文件中可能存在的问题。在分析我的代码时,如何告诉 PVS-Studio 忽略整个第三方库?在 Windows 上将 PVS-Studio 与 Visual Studio 一起使用时,我可以使用 Visual Studio 中的 PVS-Studio 扩展来做到这一点。在Linux上我没有。

我已将我的 CMakeLists.txt 文件附加到该项目(非常简单)以及 PVS-Studio 发出的警告列表。

CMakeLists.txt

警告

我仍然无法让这个工作。

在 CMakeLists.txt 我有:

使用 Clang 12.0.0 x86_64-pc-linux-gnu 构建时,PVS Studio 会生成数百行警告。例如,

有人知道可能出了什么问题吗?

谢谢,

0 投票
2 回答
30 浏览

pvs-studio - 在 Linux 终端打印 PVS-Studio 分析的彩色日志

我正在尝试将 PVS-Studio 分析集成到 CI 中以完成我的作业。除了日志打印外,一切似乎都运行良好;我希望以其他方式对警告进行着色或突出显示。

我能想到的最好的方法是使用 plog-converter 以 html 格式输出,然后用于elinks -dump -dump-color-mode 1在终端中输出,但它看起来有点奇怪。

有更好的方法吗?

0 投票
1 回答
161 浏览

pvs-studio - Linux 上的 PVS Studio - 命令行返回码

Windows 命令行的官方文档非常清楚 - 返回代码是一个位掩码,每个位都意味着什么,特别是代码“256”表示“在源代码中发现了一些问题”。

对于 Linux 命令行操作,我可以通过以下方式获取此帮助信息pvs-studio-analyzer --help

首先,这些代码不能形成有效的位掩码,它们不是 2 的幂!
其次,没有特定的返回码表示“在源代码中发现了一些问题”,我对此特别感兴趣——因此没有明显的方法来检查是否发现了任何问题(并以某种方式对其作出反应)。

第三,我在官方文档中找不到任何关于 Linux 上的返回码的信息。

所以,我的问题是 - 这个帮助信息正确吗?如果是,我如何检查是否发现了任何问题?