首页天道酬勤语c现原人设(现原语c群宣)

语c现原人设(现原语c群宣)

admin 12-21 17:32 394次浏览

从Visual Studio 16.8开始,MSVC代码分析组件正式支持SARIF 2.1.0标准。 SARIF是用于表示静态分析结果的工业标准,我们是最早与SARIF技术委员会合作的开发者之一。 通过该技术,SARIF格式的分析日志文件可以在Visual Studio集成开发环境中显示更丰富的信息。 以前,以XML格式显示日志被称为“弱”。 今天的文章展示了这些新功能,包括在错误列表中显示不同的严重程度,以及在错误代码中显示颜色标记。

什么是SARIF?

SARIF是“静态分析结果交换格式”的缩写,是用于输出静态分析工具的基于JSON的标准格式。 SARIF提供了丰富的格式,旨在满足复杂、简单的分析工具的广泛需求。 此外,还提供了一种扩展机制,工具创建者可以保存SARIF格式不直接支持的自定义数据。

C++代码分析和SARIF

MSVC代码分析使用自定义XML日志格式报告在代码分析中发现的缺陷。 这在过去的十年中为许多开发人员提供了良好的服务,但我们决定支持SARIF提供更强大的功能,如分析文件日志列表、手动配置项目和记录日志的位置。

我们长期以来都在用VS支持SARIF。 甚至规范的第一个草案,我们也开始支持了。 v16.8是MSVC代码分析组件支持SARIF 2.1标准的版本。 这种更新提高了开发人员的体验,包括背景代码分析代码分析颜色标记代码的自动修改

为了进一步改进代码分析,更新了MSVC代码分析,支持最新的SARIF 2.1.0标准。 此外,已更新为提供将更多信息记录到SARIF日志文件中的选项。 分析后的文件列表用于代码分析,设置命令行选项的项目用于在发现代码缺陷时进行处理

在更新MSVC代码分析并将信息添加到SARIF日志文件的同时,除了代码分析警告之外,还添加了新功能,可以通过记录编译器警告来记录具有“隐含”位置的隐含警告

Visual Studio中的处理规则

更新了MSVC代码分析以支持最新的SARIF标准、分析和其他缺陷信息,同时更新了Visual Studio以提高代码分析的易用性。 在下一节中,我们将看一下在Visual Studio IDE中增强的代码分析操作。

规则集和规则动作

MSVC代码分析可与一个或多个允许启用或禁用所选规则的规则集文件一起使用。 分析工具检查并报告规则集中启用的规则。 MSVC代码分析将忽略规则集中禁用的规则,不进行检查或报告。 您可以为规则集文件中的每个规则分配以下“规则操作”值之一:

在添加对SARIF的支持之前,MSVC代码分析只能将这些规则操作简单地映射到“启用”或“禁用”状态,然后报告或忽略,直到添加了对SARIF的支持。 Visual Studio构建为直接使用规则集文件,可以将包含“错误”规则操作的规则与被视为“警告”的有效规则的重置进行区分,而与规则操作的值无关。 Visual Studio IDE不遵循“规则操作”的值,将所有内容视为“警告”。

在SARIF的支持下,MSVC代码分析现在将这些规则操作映射到日志文件中SARIF的level属性,如下所示:

在映射到SARIF级别之前,会为“规则操作”值为“默认”的规则分配其他规则操作值之一。

动作中的规则动作

中,让我们看看Visual Studio如何使用规则集中的规则操作值来提高代码分析的易用性。 例如,请考虑以下自定义规则集:

对于以下测试代码:

>

配置为使用上述自定义规则集进行分析时,在Visual Studio中分析测试代码将产生结果,如下图所示:

请注意在“错误列表”窗口中如何列出缺陷,以及在文本编辑器窗口中如何突出显示相应的代码段:> 在“错误列表”窗口中,C6011被列为错误,C6001被列为警告,C6385和C6386被列为消息。> 在文本编辑器窗口中,C6011的代码段用红色花体突出显示,C6001用绿色花体突出显示,而C6385和C6386用灰色花体突出显示(点)

如上例所示,规则集中的规则操作通过SARIF的level属性映射到Visual Studio构建输出,错误列表和文本编辑器,如下所示:

请注意,在Visual Studio构建输出窗口中,“规则操作”值为“信息”的规则也报告为“警告”。 这是采用SARIF日志格式之前的行为。 遵循我们的指导原则,即在Visual Studio升级期间尽可能不影响之前的版本,我们将这种行为保持原样,以不更改现有项目的生成行为。

总结

更加丰富的错误提示,让我们写的代码”又快又好”,真-码农福音。

最后

Microsoft Visual C++团队的博客是我非常喜欢的博客之一,里面有很多关于Visual C++的知识和最新的开发进展。大浪淘沙,如果你对Visual C++这门古老的技术还是那么感兴趣,则可以经常去他们那(或者我这)逛逛。本文来自:《Microsoft C++ Code Analysis supports SARIF 2.1》

最近我写了个东西

正如你们所知道的,xqdfk智慧办公平台(Topomel Box)是一款绿色软件,主要面向经常使用电脑的朋友。它提供了各种提升办公效率的小功能,同时操作上尽可能地简单方便。我想:你值得拥有。

雷士灯具管理系统
大疆御2(无人机地图) ()
相关内容