0%

QAC代码静态分析软件使用记录

软件安装

  1. 安装RepriseLicenseManager-15.0-Win-64Bit.exe,授权服务器。
  2. 安装Helix-QAC-2023.3-3943-Win.exe,QAC软件。
  3. 安装M3CM-5.3.0-Win.exeASCM-4.3.0-Win.exe,规则包。
  4. Helix-QAC-Dashboard-2023.3-Win.exe,暂时还未使用过。

软件使用

  1. RLM授权服务器,双击打开rlm.exe即可使用。
  2. QAC首次打开需配置授权服务器地址和端口,我本机开的授权服务器,选择127.0.0.1:5055。
  3. 创建新工程(规则配置.rcf文件、分析配置.acf文件、编译器兼容模板.cct文件)。
  4. 同步,使用监控编译监测的方式同步用到的.c和.h文件。
  5. 工程属性->分析配置->分析工具qac 11.3.0-i选项需要增加编译工具链中的头文件路径。
  6. 分析,没有Hard Error就成功了,有则说明配置还有问题。
  7. 生成报告,可以选择不同的报告生成,代码分析报告,MISRA报告等。

遇到的问题

示例工程分析问题

问题现象:分析报错Parse Error,所有.c都有这个问题,看报错好像是解析乱码,错误指向代码的第一行。
解决措施:IT解密策略更新。

问题现象:分析报错CIP file invalid or missing,所有.cpp文件有这个问题。
解决措施:找QAC技术解决,回复:QAC未能自动执行脚本生成CIP文件,让我执行一个Python脚本手动生成CIP。
命令:python -E "%localappdata%\Perforce\Helix-QAC-2023.3\samples\sample_cgicc_diff-2023.3\prqa\configs\Initial\config\DATA\Helix_Generic_C++\Script\Helix_Generic_C++.py" "%localappdata%\Perforce\Helix-QAC-2023.3\samples\sample_cgicc_diff-2023.3\prqa\configs\Initial\config\Helix_Generic_C++.cct"

自己建工程同步问题

问题现象:同步时qac监控编译进程,执行.bat脚本调用make报错。
解决措施:找QAC技术解决,一顿尝试最后回复:make进程不在cct自动生成列表中,让我脚本直接调用编译器编译。
原本在工程Debug目录下执行make命令就可以编译程序,现在需要手动调编译器,这自己写脚本不写死人?最后把make的日志信息保存,写个Python脚本将arm-none-eabi-开头的行提取了出来,作为bat脚本编译工程,在bat脚本的开头设环境变量选择编译工具链,Path C:\Yuntu\YuntuIDE\tools\bin;%Path%

问题现象:同步时勾选自动生成cct,报错。
解决措施:找QAC技术解决,回复:gcc属于开源编译器,无法自动生成cct,然后给我一个。

自己建工程分析问题

问题现象:分析的时候报错,没有生成cct。
解决措施:将编译器兼容模块cct文件不要选择Auto_generate_C/C++,注意有两个C和C++的都不能选择自动生成。
C选择QAC技术给的arm-none-eabi-gcc_6.3.1的cct,C++技术没有给cct,要选择通用的Helix_Generic_C++的cct。

问题现象:分析的时候报错Parse Error,我还以为又是有啥IT解密策略不对,一看报错好像缺libc的头文件。
解决措施:工程属性->分析配置->分析工具qac 11.3.0-i选项需要增加编译工具链中的头文件路径。
C:/Yuntu/YuntuIDE/tools/arm-none-eabi/include
C:/Yuntu/YuntuIDE/tools/lib/gcc/arm-none-eabi/10.3.1/include
C:/Yuntu/YuntuIDE/tools/lib/gcc/arm-none-eabi/10.3.1/include-fixed
添加以上三个路径后问题解决。

结尾

这种商业软件网上资料不多,出了问题要找技术支持,有些配置自己配不来,需要联系技术直接要个配好的包。售后技术支持每年还要交钱,换个平台、工具链可能必须要找技术支持,得交钱。