检查项激活文件 (-checkers-activation-file)
激活自定义的缺陷和编码规则组合,以进行 Polyspace Bug Finder 分析
自 R2021a 起
描述
指定激活文件 (.XML) 或编码标准文件 (.pschk) 的完整路径,您可以在其中定义 Polyspace® Bug Finder™ 缺陷和编码标准检查项的自定义组合。
设置选项
用户界面(仅限桌面端产品):此选项在用户界面中无法直接使用。在其他字段中输入命令行选项 -checkers-activation-file。请参阅其他。
用户界面(Polyspace 平台):在工程配置中,该选项位于缺陷和编码标准选项卡中。
为何使用此选项
此选项允许您:
在可重复使用的
.XML文件中创建自定义的 Polyspace Bug Finder 缺陷和编码规则选择。检查用户定义的编码规范是否在可重用的
.pschk文件中被违反。
您可以在多个工程中重用文件,或与多个用户共享文件,以在整个团队或组织中维护一套通用的规则。
设置
默认的 Polyspace Bug Finder 分析会报告一组特定的缺陷,不会报告任何编码违规。要激活包括缺陷和编码规则在内的自定义检查项集,请使用检查项激活文件或用户定义的编码标准。
您可以通过以下方式之一创建该选项的输入文件:
在“检查项选择”窗口中保存您选择的检查项,创建检查项激活文件
(.XML)。请参阅使用检查项选择接口创建检查项激活文件。使用命令
polyspace-catalog-bundler创建自定义编码标准(.pschk)。在文本编辑器中打开现有的检查项激活 XML 文件,然后打开所需的检查项。请参阅在文本编辑器中更新检查项激活文件。
如果您已有文件,则将该文件作为此选项的输入:
如果您使用“检查项”选择接口,请浏览到该文件,然后点击完成。
如果您使用命令行工作流,请将文件的完整路径指定为
-checkers-activation-file的输入。
依赖关系
要在 Polyspace 平台用户界面中使用此选项,必须将选项使用文件设置检查项设置为开 (
)。
示例
使用检查项选择接口创建检查项激活文件
使用“检查项”选择接口创建检查项激活文件。该文件是 Bug Finder 缺陷和编码规则的可重用选择,可作为 Bug Finder 分析中的 -checkers-activation-file 选项的输入。
打开检查项选择接口。您可以通过以下几种方式打开此接口:
如果您使用的是 Polyspace 平台用户界面,请在缺陷和编码标准选项卡中选择
使用自定义检查项文件。然后,点击
。检查项选择窗口打开。如果您将 Polyspace 作为 IDE 的 You Code 插件使用,则可以从 IDE 打开检查项选择接口。请参阅在 Polyspace as You Code 中设置检查项。
如果您使用命令行工作流,则在命令行中输入:
或者,导航至polyspace-checkers-selection
并运行二进制文件polyspaceroot\polyspace\binpolyspace-checkers-selection。其中,是 Polyspace 产品的根安装文件夹,例如polyspacerootC:\Program Files\Polyspace Server\R2025a。
在“检查项”选择接口中,选择新建。选择要启用的缺陷检查项和编码规则。点击保存更改将您的选择保存为 XML 文件,例如
checkers.xml。运行 Bug Finder 分析时,将此 XML 文件指定为选项
-checkers-activation-file的参量。polyspace-bug-finder-access -sources src.c -checkers-activation-file checkers.xml
在文本编辑器中更新检查项激活文件
在某些情况下,您可能无法访问“检查项选择”UI。例如,您可能在无头终端中使用 Polyspace。在这种情况下,使用 中的模板文件创建检查项激活 XML 文件。polyspaceroot\polyspace\examples\doc_cxx\checkers_activation_XML
要从编码标准之一激活 Bug Finder 缺陷或检查项,请制作相应模板的可写副本。通过查找具有正确的 check id 属性的节点来定位检查项。将 state 属性设置为 "on" 以激活检查项。
或者,要创建一个自定义 XML 以激活各种编码标准和 Bug Finder 缺陷,请将相应的编码标准和缺陷模板中的相关条目复制到 中的 polyspaceserverroot\polyspace\examples\doc_cxx\checkers_activation_XMLblank.xml 模板中。激活 Bug Finder 缺陷 DATA_RACE 和 CERT C 编码规则 CON01-C 的检查项激活 XML 文件与以下示例相似:
<?xml version="1.0" encoding="UTF-8"?>
<polyspace_checkers_selection xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="selection_schema.xsd" revision="2.0">
<standard name="Bug Finder Findings">
<section name="Concurrency">
<check id="DATA_RACE" state="on"/>
</section>
</standard>
<standard name="SEI CERT C">
<section name="Concurrency (CON)">
<check id="CON01-C" state="on"/>
</section>
</standard>
</polyspace_checkers_selection>
有关编码规则检查 ID、缺陷检查项简短名称和部分名称的完整列表,请参阅:
注意
在以后的版本中,检查项配置文件的 XML 格式可能会有所变化。
提示
选项
-checkers-activation-file是类似选项按文件设置检查项 (-checkers-selection-file)的改进版本。改进内容如下:选项
-checkers-activation-file足以指定检查项并将其启用。选项-checkers-selection-file仅指定使用检查项选择文件进行分析的一组检查项。您必须使用编码标准选项(例如-misra3或-autosar-cpp14)中的值from-file单独启用它们。选项
-checkers-activation-file启用缺陷和编码标准检查项。选项-checkers-selection-file仅涵盖编码标准检查项。要指定和启用缺陷检查项,您必须使用选项-checkers并用逗号分隔缺陷检查项名称。
两个选项
-checkers-activation-file和-checkers-selection-file都需要一个包含检查项规格的 XML 文件作为参量。XML 文件具有相同的格式,唯一的区别在于-checkers-activation-file除了启用编码标准检查项之外,还启用了缺陷检查项。-checkers-activation-file的 XML 文件具有以下附加元素:<standard name="Bug Finder Findings"> <section name="Numerical"> <check name="INT_ZERO_DIV" state="on"> <check name="INT_CONV_OVFL" state="on"> ... </section> </standard>如果您将生成的 XML 与选项
-checkers-selection-file和选项-checkers-activation-file一起使用,Polyspace 会将提供的 XML 转换为正确的格式,并发出警告。如果您使用的是由旧版本的 Polyspace 生成的激活文件,则之前未实现的检查项可能会被实现。如果 XML 文件将已实现的检查项列为
'notimplemented',Polyspace 会发出警告。如果您在 IDE 中使用 Polyspace 作为代码扩展,则此选项通过 IDE 扩展设置实现。您无需显式使用此选项。如果要显式使用此选项,请在分析选项文件中输入该选项。请参阅选项文件。
您可以在注释接口的检查项选择列中输入特定文本,将已激活的检查项分类为自定义子集。在审查结果时,Polyspace 会显示您在结果详细信息窗格和结果列表的详细信息列中输入的文本(如果可用)。然后,您可以根据输入的文本将结果排序到所需的子集中。例如,假设您要将某些检查项指定为
Mandatory。在检查项选择接口的注释列中输入文本Mandatory。在代码审查过程中,您可以通过在结果列表中按注释对结果进行排序,来隔离Mandatory检查项。注意
以下各项中会省略您在检查项选择界面中输入的自定义文本:
生成的报告。
在桌面端界面中打开 Polyspace Access™ 的结果时,将显示 Polyspace 桌面端界面。此限制仅适用于 Bug Finder 检查项。
命令行信息
参数:-checkers-activation-file |
值:检查项激活路径 (.XML) 文件或用户定义的编码标准 (.pschk) 文件。您可以指定绝对路径或相对于运行 polyspace-bug-finder 命令的位置的相对路径。 |
| 无默认值 |
示例(Bug Finder): polyspace-bug-finder -sources |
示例(Bug Finder): polyspace-bug-finder -sources |
示例(Bug Finder 服务器): polyspace-bug-finder-server -sources |
示例(Bug Finder 服务器): polyspace-bug-finder-server -sources |
示例(Polyspace as You Code): polyspace-bug-finder-access -sources |
示例(Polyspace as You Code): polyspace-bug-finder-access -sources |
版本历史记录
在 R2021a 中推出另请参阅
查找缺陷 (-checkers) | polyspace-catalog-bundler
主题
- Configure Checkers for Polyspace as You Code at the Command Line (Polyspace Access)