1 .基于多进程协程模型的共享内存泄漏检测方法,包括侵入式检测模式,其特征在于:
使用侵入式检测模式执行内存泄露检测的过程如下:
在执行数据库的操作指令前,获取当前指令所在内存池的使用情况,得到内存池的初
始状态;
数据库的操作指令执行结束后,再次获取当前指令所在内存池的使用情况,得到内存
池的最终状态;
比较内存池的初始状态和最终状态,若内存使用情况出现单调增加,则说明存在内存
泄漏;
如果内存使用情况保持不变,则说明不存在内存泄漏。
2 .根据权利要求1所述的基于多进程协程模型的共享内存泄漏检测方法,其特征在于,
还包括非侵入式检测模式:
使用非侵入式检测模式执行内存泄露检测的过程如下:
使用内核探测工具追踪内存分配函数与和内存释放函数分配的内存的地址、大小以及
分配时函数的堆栈;
根据内核探测工具追踪得到的结果,判断是否存在内存分配函数已分配内存;
若存在,且未通过内存释放函数进行释放的情况,则使用内核探测工具追踪得到的堆
栈信息,查找内存泄漏的具体位置。
3 .根据权利要求1所述的基于多进程协程模型的共享内存泄漏检测方法,其特征在于:
将侵入式检测模式和非侵入式检测模式相结合,执行内存泄露检测的过程如下:
将侵入式检测模式中,获取的数据库的操作指令执行结束后,当前指令所在内存池的
使用情况,分解为内存的分配和释放信息,并传入非侵入式检测模式中作为输入的数据;
非侵入式检测模式直接判断是否存在内存分配函数已分配内存,但未通过内存释放函
数进行释放的情况发生,并查找内存泄漏的具体位置。
4 .根据权利要求1所述的基于多进程协程模型的共享内存泄漏检测方法,其特征在于:
侵入式检测模式和非侵入式检测模式均为,基于多进程协程模型下设计的共享内存泄
露检测模式,其中多进程协程模型的结构具体为:
在多进程协程模型下,进程仅作为执行体的容器,线程作为程序的执行体,多个线程均
可在不同进程间进行迁移;
且多进程协程模型下使用独立于进程之外的共享内存,不同进程间使用同一个内存区
域进行交互。
5 .根据权利要求2所述的基于多进程协程模型的共享内存泄漏检测方法,其特征在于:
内存分配函数的工作流程如下:
调用内存分配函数后,内存分配函数从当前内存池中分配内存,若当前内存池的空间
足够,直接使用内存池的内存;若当前内存池的空间不足,则从段中分配内存;
若段中的空间足够,则从段中分配内存;若段中的空间不足,则判断待分配的内存是否
超过总内存的容量上限;
若超过总内存的容量上限,则返回错误消息并停止分配;若未超过总内存的容量上限,
则创建新段,并在新段中申请内存。
6 .根据权利要求5所述的基于多进程协程模型的共享内存泄漏检测方法,其特征在于:
权 利 要 求 书
1/2 页
2
相关文档
评论