本主题介绍如何执行静态分析,以识别不符合预配置或自定义静态分析规则集的代码。章节目录:
运行静态代码分析
对一个或多个文件执行静态代码分析的一般过程如下:
- 选择或创建使用您的首选静态代码分析设置的测试配置。
- 有关预配置测试配置的说明,请参阅内建测试配置。
- 有关如何创建自定义测试配置的详情,请参阅配置测试配置和策略规则。有关特定的 C++test 静态分析选项的详细信息,请访问静态选项卡设置:“定义如何执行静态分析”。
- 使用首选测试配置启动测试。
- 有关通过 GUI 进行测试的详细信息,请参阅从 GUI 进行测试。
- 有关通过命令行进行测试的详细信息,请参阅从命令行界面进行测试。
- 查看并响应结果。
- 详细信息请参阅查看静态代码分析结果。
- (可选)根据需要调整静态代码分析设置。
- 详细信息请参阅自定义静态分析概述。
使用 cpptestcli 配置批处理模式分析
定期安排批处理模式编码标准分析可简单地执行一个内建或自定义测试配置,依据团队重视的编码标准规则来分析项目。例如:
- cpptestcli -data /path/to/workspace -resource "ProjectToTest" -config team://CodingStandard-sAnalysis -publish
有关配置批处理模式测试的更多详细信息,请参阅从命令行界面进行测试。
使用静态分析检测重复代码
识别和删除重复代码可以使代码更简洁、更易读、更易于维护。它可以检测在开发过程中(例如,由于复制粘贴错误)引入的类似代码片段。 这对于大型项目尤其有用,因为手动重复检测既乏味又低效。
要检测重复代码,请运行内建的“Find Duplicated Code”测试配置或包含代码重复性检测类别中所需规则的自定义测试配置。
您可以自定义用于确定是否将两个代码片段报告为重复代码片段的代码相似度。通过配置规则属性,可以忽略变量名、字符串字面量、数字字面量和布尔字面量。始终忽略所有文本流差异(如制表符、空格、换行符和注释)。
更多详细信息,请参阅代码重复性检测分类中具体规则的规则说明。
分析基于 MSBuild 的项目
C/C++test 附带一个可以快速重新配置 MSBuild 项目以生成 .bdf 文件的脚本。此脚本支持 Visual Studio 和 Cmake 生成的 MSBuild 项目。该脚本创建目标 .vcxproj 文件的备份并修改,从而在所有构建目标上启用所需的 Parasoft 功能。
C/C++test 有一个 Python 脚本启动器,用于运行包含的工具,可以在以下位置找到:
<CPPTEST_INSTALL_DIR>/bin/engine/bin/cpptestpy.exe
MSBuild 集成脚本位于以下位置:
<CPPTEST_INSTALL_DIR>/integration/msbuild/msbuild_cpptest.py
分析基于 MSBuild 的项目的步骤:
- 设置环境变量。
请确保未在 = 后面使用双引号,否则会导致不正确的字符串解释。
设置
CPPTEST_INSTALL_DIR
变量。set CPPTEST_HOME=<CPPTEST_INSTALL_DIR>
(仅限 Cmake)使用 Cmake 生成 MSBuild 文件。
cd <PROJECT_DIR> mkdir build cd build cmake ..
运行集成脚本。
<cpptestpy.exe> <msbuild_cpptest.py> -b -f project.vcxproj
使用 MSBuild 构建项目。
msbuild -t:Rebuild project.sln
将在您当前的工作目录中生成一个 .bdf 文件。
若要启动静态分析,导入 .bdf 文件。详细信息请参阅使用现有的构建系统创建项目。