一种针对业务系统断言失败事件的故障溯源方法、设备技术方案

技术编号:46597117 阅读:1 留言:0更新日期:2025-10-10 21:29
本申请公开了一种针对业务系统断言失败事件的故障溯源方法、设备,涉及计算机技术领域,获取目标业务系统在运行期间发生的断言失败事件的目标数据,基于目标数据确定断言失败变量名、断言失败事件的所属函数名及所属函数签名字符串;对断言失败事件的所属函数签名字符串进行拆分提取,得到参数名,确定与断言失败变量名对应的形参序号;遍历目标业务系统中的源码根目录中的目标文件,以将目标文件与断言失败事件的所属函数名进行匹配,得到行文本;基于行文本、参数名及形参序号,从目标业务系统的桩文件目录中筛选出引发断言失败事件的目标桩文件,解决调试成本高以及易遗漏的问题,提高故障溯源效率和准确性,降低故障溯源的复杂性。

【技术实现步骤摘要】

本专利技术涉及计算机,特别是涉及一种针对业务系统断言失败事件的故障溯源方法、设备


技术介绍

1、在大型分布式存储、网络通信等业务系统中,采用模块化设计,并对公共模块进行单独编译、裁剪或在测试环境下对部分接口进行stub(打桩)或fake(仿真)。由于涉及到数百万行的代码,且公共模块与业务模块存在复杂调用关系,当业务模块编译或测试时,常会因某些stub实现返回null(空指针)或其它非法值,而导致运行中引发断言失败。目前的定位方法包括两种:一种是手工代码搜索与grep(globally search a regular expressionand print,一种文本搜索工具)/addr2line辅助定位法,该方法依赖丰富的经验和大量手动操作,在迭代频繁、代码量巨大的项目中,手工脚本需要不断调整、维护成本高;另一种是动态调试器与断点跟踪法,该方法在模块化裁剪、stub驱动的单元环境下,经常缺少完整的初始化、依赖服务和测试数据,导致无法启动可用的运行实例,即便能运行,也需要人工在断言前后设置复杂的条件断点,并多次复现错误场景,效率低且不易自动化。

...

【技术保护点】

1.一种针对业务系统断言失败事件的故障溯源方法,其特征在于,包括:

2.根据权利要求1所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,确定断言失败变量名的流程,包括:

3.根据权利要求2所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,所述利用预设脚本并基于所述源文件路径及行号,对源文件进行读取及正则匹配,以提取出断言失败变量名,包括:

4.根据权利要求3所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,还包括:

5.根据权利要求1所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,确定所述断言失败事件的所属...

【技术特征摘要】

1.一种针对业务系统断言失败事件的故障溯源方法,其特征在于,包括:

2.根据权利要求1所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,确定断言失败变量名的流程,包括:

3.根据权利要求2所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,所述利用预设脚本并基于所述源文件路径及行号,对源文件进行读取及正则匹配,以提取出断言失败变量名,包括:

4.根据权利要求3所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,还包括:

5.根据权利要求1所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,确定所述断言失败事件的所属函数名及所属函数签名字符串的流程,包括:

6.根据权利要求1所述的针对业务系统断言失败事件的故障溯源方法,其特征在于,所述对...

【专利技术属性】
技术研发人员:周雨辰郭靖伟范冬冬成金祥庞伟振
申请(专利权)人:浪潮电子信息产业股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1