PVS‑Studio 7.40 for macOS, Linux & Windows - 代码质量安全静态分析
PVS‑Studio - 代码漏洞扫描工具 | 静态代码测试 | 代码安全分析
请访问原文链接:https://sysin.org/blog/pvs-studio/ 查看最新版。原创作品,转载请保留出处。
作者主页:sysin.org

C、C++、C# 和 Java 代码静态分析器
PVS‑Studio 是一款静态分析器,可保护代码质量、安全性 (SAST) 和代码安全
何时需要使用 PVS‑Studio 分析仪
对于开发者
- 开发过程中偶尔会出现错误
- 搜索错误时的调试工作很耗时
- 错误会进入版本控制系统
- 一旦错误被QA专家发现,调试那段代码将变得困难
对于管理者
- 由于存在bug,需要频繁地回到旧任务中
- 用户报告产品中存在错误
- 即使招聘了更多的开发者 (sysin),也发现代码质量在下降
- 随着代码量的增加,很难评估其质量和可靠性
对于安全专业人士
- 外部代码审计困难
- 潜在客户要求使用这类工具
- 客户要求在开发中遵守安全和可靠性标准
新增功能
2025 年 12 月 19 日
PVS-Studio 7.40:支持 Visual Studio 2026、Qt Creator 18、.NET 10,更新的 C# 诊断规则等更多内容
- 适用于 Visual Studio 2026 的 PVS-Studio 插件
- 适用于 Qt Creator 18.x 的 PVS-Studio 插件
- 支持分析 .NET 10 项目
- C# 诊断规则优化
- 文档:Unreal Build Accelerator 分布式构建系统
- 不兼容性变更
- 完整更新列表
- 新增诊断规则
- C 和 C++
- C#
- Java
PVS-Studio 7.40 已正式发布。新版本带来了对 Visual Studio 2026 和 Qt Creator 18 的支持,新增了对 .NET 10 项目的分析,增强了 C# 诊断规则,并包含许多其他新特性。更多详情请参阅本文说明!

✅ 适用于 Visual Studio 2026 的 PVS-Studio 插件
新版本引入了对全新 Visual Studio 2026 的支持。现在,你可以在更新后的 IDE 中无缝继续使用 PVS-Studio 静态分析器的全部功能,而无需改变你原有的工作流程。
有关该插件的更多信息,请参阅相关文档。
✅ 适用于 Qt Creator 18.x 的 PVS-Studio 插件
很高兴推出适用于 Qt Creator 18.x 的 PVS-Studio 插件。该插件允许你直接在 IDE 中运行静态分析、查看警告并处理代码。
注意:对 Qt Creator 13.x 的插件支持已停止 (sysin)。致力于保持向后兼容性,在每个 Qt Creator 版本发布后的两年内,支持其最新的插件版本。
有关该插件的更多信息,请参阅相关文档。
✅ 分析 .NET 10 项目
PVS-Studio 的 C# 分析器现已兼容 .NET 10 项目。如果你想了解新版本 .NET 中引入的主要特性,邀请你阅读文章《.NET 10 有哪些新变化?》。
注意:在 Windows 上,用于分析 SDK 风格项目的最低 .NET 版本仍为 .NET 9。在 Linux 上,C# 项目分析现已要求使用 .NET 10。
✅ C# 诊断规则优化
PVS-Studio 团队对前一百条中的部分 C# 诊断规则进行了修订和增强。
本次更新涵盖了新的语言结构,改进了 PVS-Studio 在检测代码问题方面的机制,并引入了许多其他优化。
✅ 文档:Unreal Build Accelerator 分布式构建系统
Unreal Engine 5.5 引入了一款名为 Horde 的新工具,这是一个平台,可让用户利用其他机器上的 CPU 资源来加速工作负载。
更新了关于 Unreal Engine 项目使用的文档章节,并加入了在 Unreal Build Accelerator 分布式构建系统中使用分析器的说明。
要了解如何使用 Unreal Engine 的这些功能,并通过 PVS-Studio 在多台机器上同时运行项目分析,请参阅文章《使用 Horde 和 UBA 对 Unreal Engine 项目进行分布式构建》。
✅ 不兼容性变更
以下变更与早期版本的分析器不向后兼容。由于这些变更,你可能需要调整分析器的使用方式。
- 用于从 .deb 和 .rpm 仓库安装 PVS-Studio 分析器的密钥已更新。可能需要重新安装密钥,请参阅文档获取操作说明。
- 在 Linux 和 macOS 上分析 C# 项目现已要求使用 .NET 10 SDK。
✅ 新增诊断规则
C 和 C++:
- V2023:在重写虚函数时缺少
override说明符,可能导致函数签名不匹配。 - V2663:MISRA。宏
EOF只能与任何可能返回EOF的标准库函数的未修改返回值进行比较。 - V2664:MISRA。使用
<string.h>中的字符串处理函数时,不应访问超出其指针参数所引用对象边界的内存。 - V2665:MISRA。传递给
<string.h>中函数的 size 参数应具有合适的值 (sysin)。 - V2666:MISRA。对具有显式对齐说明的对象,其所有声明都应指定相同的对齐方式。
C#:
- V3228:可能在下一个条件中应使用已赋值的变量。请考虑检查是否存在拼写错误。
- V3229:
GetHashCode方法可能会为相等的对象返回不同的哈希值。该方法使用对象引用为变量生成哈希值。请检查Equals方法的实现。
Java:
- V5337:OWASP。可能存在 NoSQL 注入风险。潜在的受污染数据被用于创建查询。
- V5338:OWASP。可能存在 Zip Slip 漏洞。潜在的受污染数据被用于文件解压路径中。
详情请参阅官方文档。
下载地址
小版本更新仅保留最新版。
PVS‑Studio 7.40 for macOS (2025-12-19)
PVS‑Studio 7.40 for Linux (2025-12-19)
PVS‑Studio 7.40 for Windows (2025-12-19)
更多:HTTP 协议与安全