在 Polyspace 用户界面中添加要分析的源文件
本主题介绍如何在 Polyspace® 桌面产品的用户界面中创建工程。
如果您使用的是 Polyspace Server 产品,请参阅持续集成期间在服务器端设置 Bug Finder 分析。
如果您使用的是 Polyspace as You Code,请参阅在 IDE 中设置 Polyspace 分析。
要开始 Polyspace 分析,您必须指定源文件和头文件的路径。
您可以显式指定源路径,或者在执行命令后从编译命令 (makefile) 中提取源路径。如果您使用编译命令来编译源代码,或者在集成开发环境 (IDE) 中编译源代码(使用底层编译命令),请先从编译命令中提取相关信息。如果 Polyspace 无法追踪您的编译命令,请手动将路径添加到源文件和包含文件夹中。稍后指定目标和编译器选项。请参阅目标和编译器。
在 Polyspace 工程中提供源路径。源文件显示在工程浏览器窗格中。
在保存工程的位置会创建一个相应的 .psprj
文件。创建工程时,选择保存的默认位置或输入新位置。要更改默认位置,请选择工具 > 预设项,然后使用工程和结果文件夹选项卡上的选项。
Polyspace 工程和源文件路径
Polyspace 工程使用绝对路径指向源文件。但是,每次在 Polyspace 用户界面中重新打开一个工程时,源文件的绝对路径都会根据工程的当前位置重新计算。
例如,假设一个工程存储在:
//networkLocation/polyspaceProjects/
//networkLocation/src/file.c
//usr/local/polyspaceProjects/
//usr/local/src/file.c
由于源文件路径是相对于工程路径重新计算的,因此您可以将 Polyspace 工程与源文件一起提交到版本控制系统。当您从版本控制系统中签出工程并打开工程的本地副本时,所有源文件路径都会根据工程的新位置重新计算。该工程现在指向源文件的本地副本。
添加来源
从编译命令添加源
如果您使用 make
等编译命令来编译源代码(或在 IDE 中编译源代码),则可以从编译命令创建一个 Polyspace 工程。要从编译命令创建一个 Polyspace 工程,请执行以下操作之一:
在编译命令中运行
,创建一个 Polyspace 工程(polyspace-configure
文件)。您可以在 Polyspace 平台用户界面中打开此工程。projectName
.psprjx直接在 Polyspace 用户界面中创建工程。
在命令行创建工程有以下优势:
您可以确保编译命令成功完成,只需在编译命令前添加
polyspace-configure
(以及所需选项)即可。您可以在命令行接口上使用预定义的环境变量执行编译命令。例如,您可以在开发人员命令提示符中执行一个 Microsoft® Visual Studio® 编译命令,此时与 Visual Studio 编译相关的环境变量已预先设置。您无法从 Polyspace 平台用户界面访问这些环境变量。
本节介绍如何从编译命令在用户界面中创建 Polyspace 工程。
选择 文件 > 新建工程。选择从编译命令创建。
在提供工程名称和位置后,在下一个窗口中输入以下信息:
编译命令,与您在代码中执行的命令完全一致。
您运行编译命令的文件夹。
如果您在 IDE(如 Visual Studio)中编译源代码,请在指定编译命令的字段中输入可执行文件的路径,例如
C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\VCExpress.exe
。点击运行。Polyspace 运行编译命令,并提取用于创建 Polyspace 工程的信息,具体来说,即源路径和编译器信息。
如果您为编译命令指定了 IDE 的路径,则点击运行时,Polyspace 将打开您的 IDE。在您的集成开发环境 (IDE) 中,对您的代码进行完整编译。当您关闭 IDE 时,Polyspace 会提取您的源路径和编译器信息。另请参阅Create Polyspace Projects from Visual Studio Build。
当您从编译命令创建工程时,工程浏览器窗格会显示源文件夹,但不会显示包含文件夹。如果您想确认包含文件夹已解压,请在文本编辑器中打开工程文件(扩展名为 .psprj
)。
您可以使用其他选项来修改编译命令的默认工程创建。例如,要创建一个尽管存在编译错误但仍为 Polyspace 的工程,在添加高级配置选项字段中输入选项 -allow-build-error
。要查找允许的选项,请参阅 polyspace-configure
。
手动添加来源
选择 文件 > 新建工程。
在提供工程名称和位置后,在下一个窗口中,输入或导航到包含源文件的根文件夹。选择以递归方式添加复选框后,点击添加源文件夹。文件夹和子文件夹中的所有文件都将添加到您的工程中。要排除特定文件或文件夹的分析,请右键点击文件或文件夹,然后选择排除文件。
在下一窗口中,添加包含文件夹。分析将查找与您指定的包含文件夹路径相关的包含文件。例如,如果您的代码包含预处理器指令 #include<../mylib.h>
并且您包括了以下文件夹:
C:\My_Project\MySourceFiles\Includes
C:\My_Project\MySourceFiles
必须包含文件 mylib.h
。对于标准库头文件(如 stdio.h
),如果您知道编译器中的头文件路径,请显式指定。否则,分析将使用标准库头文件中的 Polyspace 实现,在某些特殊情况下,这可能与您的编译器实现不匹配。另请参阅为 Polyspace 分析提供标准库头文件。
包含源文件和包含文件夹的工程文件显示在工程浏览器窗格中。之后,如果您向这些文件夹添加文件,则可以更新工程。右键点击要更新的文件夹或整个工程源文件文件夹,然后选择刷新源文件夹。
您也可以右键点击排除文件或向工程添加更多文件夹。您首次添加的文件将被复制到工程中的第一个模块。如果您稍后添加新文件,则必须显式右键点击这些文件,并将它们添加到模块中。
根据 AUTOSAR 设计规范添加源文件
如果您的代码实现了 AUTOSAR 软件组件,您可以提供包含 AUTOSAR 设计规范的顶级文件夹以及包含这些规范源代码实现的文件夹。
选择 文件 > 新建。在“工程属性”窗口中,选择根据 AUTOSAR 规范创建。
指定包含 ARXML 文件以及所有源文件的顶级文件夹。
有关详细信息,请参阅Run Polyspace on AUTOSAR Code (Polyspace Code Prover)。