[发明专利]一种内存泄漏的检测方法、装置、系统及存储介质有效
申请号: | 201910886436.8 | 申请日: | 2019-09-19 |
公开(公告)号: | CN110781075B | 公开(公告)日: | 2022-08-30 |
发明(设计)人: | 秦金昆;吴闽华;孟庆晓;戴瑜 | 申请(专利权)人: | 深圳震有科技股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F8/53 |
代理公司: | 深圳市君胜知识产权代理事务所(普通合伙) 44268 | 代理人: | 王永文;刘文求 |
地址: | 518057 广东省深圳市南山区粤海街*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 内存 泄漏 检测 方法 装置 系统 存储 介质 | ||
1.一种内存泄漏的检测方法,其特征在于,所述方法包括如下步骤:
a、接收CPU提供的debug命令,对内存分配函数和内存释放函数指令进行监控;
b、当CPU执行到被监控的地址指令后,立刻触发debug异常;
c、进入程序debugIsr();所述程序debugIsr()为debug异常中断程序;
d、判断PC寄存器的函数地址,如果所述PC寄存器的函数地址等于所述内存分配函数地址,则在固定内存开始处新增一条记录,用于记录调用栈、申请内存大小、申请成功的内存地址以及申请时间;如果所述PC寄存器的函数地址等于所述内存释放函数地址,则从固定内存开始处搜索所有记录,找出释放地址所在的记录,将这条记录删除;
e、读取有效记录并存为文件;
f、反汇编程序执行所述文件,确定申请了内存却没有释放的函数;所述反汇编程序执行所述文件,将每条记录中的PC值和调用栈在反汇编结果中搜索,确定申请了内存却没有释放的函数和任务。
2.根据权利要求1所述的一种内存泄漏的检测方法,其特征在于,所述内存分配函数为malloc(),所述内存释放函数为free()。
3.根据权利要求1所述的一种内存泄漏的检测方法,其特征在于,所述步骤a之前包括步骤:
a0、CPU提供DAC1寄存器用于设置内存分配函数的地址,CPU提供DAC2寄存器用于保存内存释放函数的地址;
a1、固定内存地址的记录内容初始化设置,使能指令监控。
4.根据权利要求1所述的一种内存泄漏的检测方法,其特征在于,所述步骤c包括步骤:
c1、将debug异常中断时的调用栈和PC寄存器传入debugIsr()函数,作为其参数。
5.一种内存泄漏的检测装置,其特征在于,包括:处理器、存储器和通信总线;
所述存储器上存储有可被所述处理器执行的一种内存泄漏的检测方法程序;
所述通信总线实现所述处理器和所述存储器之间的连接通信;
所述处理器执行所述一种内存泄漏的检测方法程序时实现如下步骤:
a、接收CPU提供的debug命令,对内存分配函数和内存释放函数指令进行监控;
b、当CPU执行到被监控的地址指令后,立刻触发debug异常;
c、进入程序debugIsr();所述程序debugIsr()为debug异常中断程序;
d、判断PC寄存器的函数地址,如果所述PC寄存器的函数地址等于所述内存分配函数地址,则在固定内存开始处新增一条记录,用于记录调用栈、申请内存大小、申请成功的内存地址以及申请时间;如果所述PC寄存器的函数地址等于所述内存释放函数地址,则从固定内存开始处搜索所有记录,找出释放地址所在的记录,将这条记录删除;
e、读取有效记录并存为文件;
f、反汇编程序执行所述文件,确定申请了内存却没有释放的函数;所述反汇编程序执行所述文件,将每条记录中的PC值和调用栈在反汇编结果中搜索,确定申请了内存却没有释放的函数和任务。
6.根据权利要求5所述的一种内存泄漏的检测装置,其特征在于,所述处理器执行所述一种内存泄漏的检测方法程序时:
所述内存分配函数为malloc(),所述内存释放函数为free()。
7.根据权利要求5所述的一种内存泄漏的检测装置,其特征在于,所述处理器执行所述一种内存泄漏的检测方法程序时还实现如下步骤:
a0、CPU提供DAC1寄存器用于设置内存分配函数的地址,CPU提供DAC2寄存器用于保存内存释放函数的地址;
a1、固定内存地址的记录内容初始化设置,使能指令监控。
8.根据权利要求5所述的一种内存泄漏的检测装置,其特征在于,所述处理器执行所述一种内存泄漏的检测方法程序时还实现如下步骤:
c1、将debug异常中断时的调用栈和PC寄存器传入debugIsr()函数,作为其参数。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于深圳震有科技股份有限公司,未经深圳震有科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910886436.8/1.html,转载请声明来源钻瓜专利网。
- 上一篇:自动化测试方法、装置及存储介质
- 下一篇:一种测试用例批量测试方法及装置