主要内容

Polyspace 用户界面中运行静态分析

本主题介绍如何在 Polyspace® 桌面端产品的用户界面中运行静态分析。

本主题介绍如何在 Polyspace 用户界面中运行分析、监控进度、修复编译问题以及打开可用的分析结果。

在您指定源文件和编译器后,启动 Polyspace 分析。在分析过程中,Polyspace 首先编译您的代码,然后检查错误 (Bug Finder) 或证明代码正确性 (Code Prover)。如果遇到编译错误,请阅读错误消息并诊断错误的根本原因。要解决这些错误,通常需要设置一些 Polyspace 配置选项,然后重新运行分析。

为工程设置排列窗口布局

要方便地设置窗口分布,请在 Polyspace 用户界面中选择 窗口 > 重置布局 > 工程设置

设置产品和结果存储位置

要切换产品或为每次运行创建单独的文件夹,请从运行按钮旁边的下拉列表中选择选项。例如,为了避免每次运行 Bug Finder 时覆盖之前的搜索结果并保留现有结果,请选择创建新的 Bug Finder 结果文件夹

结果存储在工程文件夹下的 Module_1Module_2 等子文件夹中。要查找工程文件夹的物理位置,请右键点击工程浏览器窗格中的工程,然后选择使用文件管理器打开文件夹

要使用不同的文件夹命名约定或不同的结果存储位置,请选择工具 > 预设项,然后使用工程和结果文件夹选项卡上的选项。另请参阅Create Naming Convention for Results Folder

启动并监控分析

如果您的工程包含多个模块,请选择要分析的模块。要开始分析,请选择运行 Bug Finder运行 Code Prover。在输出摘要窗格中监控进度。

  • Bug Finder:由于某些缺陷检查项不需要跨函数的信息,只要一个函数分析完成,就可以显示部分分析结果,所以您可以在部分分析完成后看到一些结果。如果在分析进行中已有结果可用,您会在运行 Bug Finder 按钮旁看到此图标:

    该图标表示可用结果的数量。要打开结果,请点击图标。分析完成后,图标中的正在运行标签将变为已完成。要重新加载全部结果,请再次点击该图标。

  • Code Prover:您只能在分析完成后查看结果。由于 Code Prover 分析更为严格,并且必须遵循更严格的编译规则,因此更有可能报告编译错误。进度条会区分分析过程中的各个阶段,从编译阶段开始。

修复编译错误

如果编译时出现错误,分析将继续对剩余的可编译文件进行处理。仪表板窗格会显示有些文件未能编译,并提供可跳转至输出摘要窗格的链接,供您查看详细信息。输出摘要窗格会用 图标显示编译错误。

如需进一步诊断,可以选择错误消息以查看更多详细信息。在您的代码中定位导致编译错误的行。您可以使用错误消息的详细信息来了解为什么这一行能在您的编译器中编译通过,以及 Polyspace 需要哪些附加信息才能模拟您的编译器。您也可以尝试使用 Polyspace 选项来解决错误。有关详细信息,请参阅解决编译错误

为了在 Code Prover 中进行更精确的运行时错误检查,建议您修复所有编译错误。使用选项如果文件无法编译,则停止分析 (-stop-if-compile-error)

打开结果

分析完成后,结果将自动显示。要打开已关闭的结果,请双击工程浏览器窗格中的结果节点。

Bug Finder (Code Prover) 的结果存储在结果文件夹中的 .psbf (.pscp) 文件中。例如,如果您将工程保存在 C:\Projects\,则第一个模块 Module_1 的 Bug Finder 分析结果文件 .psbf 将存储在 C:\Projects\Module_1\BF_Result 文件夹中。另请参阅Contents of Polyspace Project and Results Folders

另请参阅

主题