软件安装
- 安装
RepriseLicenseManager-15.0-Win-64Bit.exe
,授权服务器。 - 安装
Helix-QAC-2023.3-3943-Win.exe
,QAC软件。 - 安装
M3CM-5.3.0-Win.exe
、ASCM-4.3.0-Win.exe
,规则包。 Helix-QAC-Dashboard-2023.3-Win.exe
,暂时还未使用过。
软件使用
- RLM授权服务器,双击打开
rlm.exe
即可使用。 - QAC首次打开需配置授权服务器地址和端口,我本机开的授权服务器,选择127.0.0.1:5055。
- 创建新工程(规则配置.rcf文件、分析配置.acf文件、编译器兼容模板.cct文件)。
- 同步,使用监控编译监测的方式同步用到的.c和.h文件。
- 工程属性->分析配置->分析工具
qac 11.3.0
的-i
选项需要增加编译工具链中的头文件路径。 - 分析,没有Hard Error就成功了,有则说明配置还有问题。
- 生成报告,可以选择不同的报告生成,代码分析报告,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
添加以上三个路径后问题解决。
结尾
这种商业软件网上资料不多,出了问题要找技术支持,有些配置自己配不来,需要联系技术直接要个配好的包。售后技术支持每年还要交钱,换个平台、工具链可能必须要找技术支持,得交钱。