问题标签 [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.
c# - V3022 误报
PVS Studio 抛出 V3022:表达式“list.Count > 1”始终为假。程序.cs 20
这是误报吗?
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/ ,但不明白哪里有错误?
pvs-studio - 集成 PVS-Studio 和 CMake
我使用 Windows 10、QtCreator 4.7.1、CMake 3.11.4(Ninja、CodeBlocks)、MSVC 2017。尝试将 PVS-Studio 集成到 CMake 项目中。
我收到错误
知道该怎么做吗?
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命令正确构建项目。
c# - PVS Studio 抑制整个 C# 文件的单一警告
我正在尝试使用https://www.viva64.com/en/m/0017/中找到的语法来抑制对整个 C# 文件的警告。
根据文件//-V::3085
开头的文档,应该抑制文件中的所有 V3085 警告。
使用以下代码,我仍然看到警告。我究竟做错了什么?
c++ - 为什么 PVS-Studio 声明存在非常量参考?
我必须首先承认我对 C++ 的经验很少,所以如果这个问题看起来有些愚蠢,请原谅我。
在使用 PVS-Studio 分析项目时,我发现了一个令人费解的元素。这是重现问题的代码:
当然,这里不需要这个赋值运算符,但问题就在 PVS-Studio 生成的警告中:
V790 赋值运算符通过非常量引用获取对象并返回该对象,这很奇怪。
(强调我的)
我不知道该怎么想。这个非常量引用在哪里?赋值运算符的参数是const Test &
,即它似乎是常量引用。此外,return test
仅当分配无论如何都是无操作时才执行,即返回*this
并且test
应该没有区别。
这是误报,还是我根本不明白什么?
pvs-studio - 我可以使用 PVS-Studio 分析我不参与的开源项目吗?
来自以下博客文章:
请注意,此模式并非旨在评估此软件。请使用演示版或申请临时许可证密钥来试用分析仪。
我是否理解正确,我不能将以下注释部分添加到开源项目中的每个源文件中,以便使用 PVS-Studio 对其进行分析?
因为否则这将是软件评估的事实,我需要为此下载 PVS-Studio 的演示版本?考虑到我不是我想分析的项目的维护者,而只是一个想收集静态分析报告并将其发送给项目维护者的人。
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 会生成数百行警告。例如,
有人知道可能出了什么问题吗?
谢谢,
pvs-studio - 在 Linux 终端打印 PVS-Studio 分析的彩色日志
我正在尝试将 PVS-Studio 分析集成到 CI 中以完成我的作业。除了日志打印外,一切似乎都运行良好;我希望以其他方式对警告进行着色或突出显示。
我能想到的最好的方法是使用 plog-converter 以 html 格式输出,然后用于elinks -dump -dump-color-mode 1
在终端中输出,但它看起来有点奇怪。
有更好的方法吗?
pvs-studio - Linux 上的 PVS Studio - 命令行返回码
Windows 命令行的官方文档非常清楚 - 返回代码是一个位掩码,每个位都意味着什么,特别是代码“256”表示“在源代码中发现了一些问题”。
对于 Linux 命令行操作,我可以通过以下方式获取此帮助信息pvs-studio-analyzer --help
首先,这些代码不能形成有效的位掩码,它们不是 2 的幂!
其次,没有特定的返回码表示“在源代码中发现了一些问题”,我对此特别感兴趣——因此没有明显的方法来检查是否发现了任何问题(并以某种方式对其作出反应)。
第三,我在官方文档中找不到任何关于 Linux 上的返回码的信息。
所以,我的问题是 - 这个帮助信息正确吗?如果是,我如何检查是否发现了任何问题?