PVS‑Studio 7.40 发布 - 代码质量安全静态分析

PVS‑Studio 7.40 for macOS, Linux & Windows - 代码质量安全静态分析

PVS‑Studio - 代码漏洞扫描工具 | 静态代码测试 | 代码安全分析

请访问原文链接:https://sysin.org/blog/pvs-studio/ 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


PVS-Studio 徽标:酷炫的独角兽

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# 诊断规则,并包含许多其他新特性。更多详情请参阅本文说明!

PVS-Studio 7.40

适用于 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 协议与安全

posted @ 2025-12-20 11:16  sysin  阅读(0)  评论(0)    收藏  举报