没有找到合适的产品?
联系客服协助选型:023-68661681
提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
原创|使用教程|编辑:张莉|2025-09-18 11:17:55.590|阅读 51 次
概述:通过将Parasoft C/C++test与Docker相结合,我们构建了一个标准化、可复用的代码质量分析环境。这一实践旨在解决因开发环境差异导致的测试结果不一致问题,确保静态分析与单元测试能够在统一、可控的编译工具链中执行。利用Docker的隔离特性,我们将Parasoft的代码采集工具与项目构建流程(如Makefile)集成,通过生成构建数据文件(BDF)为后续深度代码分析提供基础。
# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>
通过将Parasoft C/C++test与Docker相结合,我们构建了一个标准化、可复用的代码质量分析环境。这一实践旨在解决因开发环境差异导致的测试结果不一致问题,确保静态分析与单元测试能够在统一、可控的编译工具链中执行。利用Docker的隔离特性,我们将Parasoft的代码采集工具与项目构建流程(如Makefile)集成,通过生成构建数据文件(BDF)为后续深度代码分析提供基础。这种方法是实现持续测试与DevOps实践的关键步骤,特别适用于需要符合功能安全标准(如ISO 26262)的嵌入式系统开发。
准备阶段 Ubuntu 64位,cpptest工具,Docker
1.在创建Docker的脚本中添加以下几个参数
-v /home/u/parasoft/cpptest:/home/u/parasoft/cpptest (c++test安装目录) -v /home/u/parasoft/cpptest/examples/Timer:/home/u/parasoft/cpptest/examples/Timer(项目目录) -v /home/u/workspace/space12.27.2:/home/u/workspace/space12.27.2 (指定工作空间目录) --name gcc9-test-container(指定Docker名字) 注意:保证宿主机目录和Docker中的目录完全一致
2.容器中添加cpptest的环境变量
export PATH=$PATH:/home/u/parasoft/cpptest/bin 验证cpptesttrace命令可不可用 直接输入cpptesttrace来验证
3.生成bdf
进入Docker目录后,切换到项目根目录,执行以下命令: Cpptesttrace -cpptesttraceProjectName=demo -cpptesttraceOutputFile=/home/u/parasoft/cpptest/examples/Timer/demo.bdf make cpptesttraceProjectName=指定项目名 cpptesttraceOutputFile=指定生成bdf的绝对路径以及bdf名字 make是构建命令,可以用其他任何构建命令替代,例如build.sh
4.后台运行Docker
5.将容器名称分配给环境变量
export CPPTEST_CONTAINER_NAME=gcc9-test-container
6.在同一终端启动cpptest
7.导入在容器内生成的.bdf文件
编译器配置如下,需要自定义编译器
编译器的名称和种类可根据自己的需要进行修改
c编译器选择c++test安装目录下的/integration/docker中的remote-gcc C++编译器选择c++test安装目录下的/integration/docker中的remote-g++ 连接器选择c++test安装目录下的/integration/docker中的remote-g++ 如下图所示
以上就基本配置成功啦
8.执行静态分析
可能会遇到如下报错
解决办法:缺少库文件,下载库文件即可
9.单元测试
单元测试相对于静态分析多了一个步骤,在自定义编译器时,最后会告诉自定义编译器 gui.propertie的存放路径,如下所示
在容器中cd 到这个目录下找到gui.propertities文件
然后vim 打开这个文件,修改两个地方
在容器中进行单元测试时在执行单元测试时,不选Run unit tests了选择Run Unit tests in Container然后就这样执行啦。
在成功配置环境的基础上,团队可进一步将该方案集成至CI/CD流水线,实现自动化代码质量门禁。通过Parasoft C/C++test提供的静态分析、单元测试及覆盖率检测能力,结合Docker容器提供的环境一致性保障,开发者能够在早期发现代码缺陷,有效提升软件可靠性并降低合规认证风险。这一技术实践不仅适用于汽车电子领域,也可为其他对代码质量有高要求的行业提供参考。
关于慧都
慧都是一家行业数字化解决方案公司,专注于软件、石油与工业领域,以深入的业务理解和行业经验,帮助企业实现智能化转型与持续竞争优势。在软件工程领域,我们提供开发控件、研发管理、代码开发、部署运维等软件开发全链路所需的产品,提供正版授权采购、技术选型、个性化维保等服务,帮助客户实现技术合规、降本增效与风险可控。
慧都科技作为Parasoft公司在中国区的官方授权合作伙伴,为国内企业提供Parasoft C/C++test产品的正版授权、定制化部署与全生命周期技术支持与服务。我们致力于助力客户精准贯彻功能安全标准、全面提升软件开发效率、有效管控项目风险,最终构建符合国际标准的高质量软件体系。
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@ke049m.cn
Parasoft C/C++test作为一款功能全面的自动化代码质量保障工具,为C/C++开发者提供了静态分析、单元测试和运行时错误检测等核心功能。通过将其与轻量级且广受欢迎的VScode编辑器集成,开发团队可以在熟悉的编码环境中实时获得代码质量反馈,有效提升开发效率与代码可靠性。
本文主要介绍如何在MVVM应用程序中使用虚拟源,欢迎下载最新版组件体验!
本教程主要为大家介绍如何使用DevExpress WinForms数据网格控件自定义排序和非排序列,欢迎下载最新版组件体验!
在使用自动化测试工具Parasoft C/C++test进行大规模代码分析时,合理的并行处理配置是保证分析效率与系统稳定性的关键。实际使用过程中,当处理大型代码项目时,用户可能会遇到系统资源过度消耗的问题。从系统监控数据可以看到,多个cc1分析进程同时以100%的CPU利用率运行,这表明系统正在经历严重的资源竞争。这种情况通常会导致分析速度下降,甚至出现系统卡死的现象,严重影响开发效率。
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@ke049m.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢