[发明专利]问题检测方法、装置、设备及存储介质在审
申请号: | 202211731387.9 | 申请日: | 2022-12-30 |
公开(公告)号: | CN116225906A | 公开(公告)日: | 2023-06-06 |
发明(设计)人: | 黄忆农;王波;高翔 | 申请(专利权)人: | 龙芯中科技术股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 北京同立钧成知识产权代理有限公司 11205 | 代理人: | 马姣琴;臧建明 |
地址: | 100095 北京市海淀*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 问题 检测 方法 装置 设备 存储 介质 | ||
1.一种问题检测方法,其特征在于,包括:
获取程序对应的代码,并确定所述代码中的成对操作,其中,所述成对操作包括开始操作以及与所述开始操作对应的结束操作;
在程序运行之前,在所述开始操作对应的代码位置添加接口并为所述接口设置识别信息;
在程序运行过程中,所添加的接口被调用时为所述接口分配存储单元,并将所述存储单元插入回溯输出链式表中,其中,所述存储单元存储的信息包括所述接口对应的识别信息和回溯输出内容;
在所述开始操作以及所述开始操作对应的结束操作均执行完成后,从所述回溯输出链式表中删除所述接口对应的存储单元;
在所述程序运行完成后,若所述回溯输出链式表中存在未删除的识别信息,则确定所述未删除的识别信息对应的成对操作存在问题。
2.根据权利要求1所述的方法,其特征在于,所述识别信息包括接口标记。
3.根据权利要求2所述的方法,其特征在于,在所述确定所述未删除的识别信息对应的成对操作存在问题的步骤之后,还包括:
基于所述回溯输出链式表中未删除的所述接口标记,得到所述代码的问题定位结果。
4.根据权利要求2所述的方法,其特征在于,所述识别信息还包括用户自定义信息;
在所述为所述接口分配存储单元之前,所述方法还包括:在所述存储单元中预留用于存储用户自定义信息的空间;
在所述确定所述未删除的识别信息对应的成对操作存在问题的步骤之后,还包括:基于所述回溯输出链式表中未删除的所述用户自定义信息,得到所述代码的问题定位结果。
5.根据权利要求1所述的方法,其特征在于,所述在所述开始操作对应的代码位置添加接口的步骤,包括:
通过桩函数在所述开始操作对应的代码位置添加接口。
6.根据权利要求1-5任一项所述的方法,其特征在于,所述问题包括内存泄露问题;
所述开始操作包括分配内存阶段的操作,所述结束操作包括释放内存阶段的操作。
7.根据权利要求1-5任一项所述的方法,其特征在于,所述问题包括文件资源占用问题;
所述开始操作包括文件打开阶段的操作,所述结束操作包括文件关闭阶段的操作。
8.一种问题检测装置,其特征在于,包括:
获取模块,用于获取程序对应的代码,并确定所述代码中的成对操作,其中,所述成对操作包括开始操作以及与所述开始操作对应的结束操作;
添加模块,用于在程序运行之前,在所述开始操作对应的代码位置添加接口并为所述接口设置识别信息;
分配模块,用于在程序运行过程中,所添加的接口被调用时为所述接口分配存储单元,并将所述存储单元插入回溯输出链式表中,其中,所述存储单元存储的信息包括所述接口对应的识别信息和回溯输出内容;
删除模块,用于在所述开始操作以及所述开始操作对应的结束操作均执行完成后,从所述回溯输出链式表中删除所述接口对应的存储单元;
确定模块,用于在所述程序运行完成后,若所述回溯输出链式表中存在未删除的识别信息,则确定所述未删除的识别信息对应的成对操作存在问题。
9.根据权利要求8所述的装置,其特征在于,所述识别信息包括接口标记。
10.根据权利要求9所述的装置,其特征在于,还包括问题定位模块,用于基于所述回溯输出链式表中未删除的所述接口标记,得到所述代码的问题定位结果。
11.根据权利要求9所述的装置,其特征在于,所述识别信息还包括用户自定义信息;
所述分配模块还用于在所述存储单元中预留用于存储所述用户自定义信息的空间;
所述装置还包括:问题定位模块,用于基于所述回溯输出链式表中未删除的所述用户自定义信息,得到所述代码的问题定位结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于龙芯中科技术股份有限公司,未经龙芯中科技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211731387.9/1.html,转载请声明来源钻瓜专利网。