CN103049376A - 一种进程的内存溢出测试方法、装置及设备 - Google Patents
一种进程的内存溢出测试方法、装置及设备 Download PDFInfo
- Publication number
- CN103049376A CN103049376A CN2012105284161A CN201210528416A CN103049376A CN 103049376 A CN103049376 A CN 103049376A CN 2012105284161 A CN2012105284161 A CN 2012105284161A CN 201210528416 A CN201210528416 A CN 201210528416A CN 103049376 A CN103049376 A CN 103049376A
- Authority
- CN
- China
- Prior art keywords
- internal memory
- operating system
- tested
- use amount
- heap space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
本发明公开了一种进程的内存溢出测试方法、装置及设备,其中,方法包括以下步骤:检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。本发明实施例通过检测进程的内存使用量确定被测试进程,并通过调低操作系统为进程预设的最大可使用堆空间来使被测试进程发生内存溢出,可以使存在内存泄漏问题的进程尽快地发生内存溢出,从而便于开发人员对存在内存泄漏问题的程序进行改进。
Description
技术领域
本发明涉及计算机技术领域,更具体地,涉及一种进程的内存溢出测试方法、装置及设备。
背景技术
内存泄露是指:用动态存储分配函数动态开辟的空间,在使用完毕后未释放,导致该内存单元一直被占据,无法被回收。存在内存泄漏问题的程序,一般表现方式是:该程序运行时间越长,占用内存越多,随着程序运行时间越来越长,就会导致内存泄露越来越严重,最后导致这个程序出现内存溢出(Out ofMemory,简称OOM)。如果出现OOM,系统就会强制关闭此程序的进程。
为了防止程序存在内存泄漏的问题,需要对程序进行测试,以发现发生内存泄露的程序以及泄露的原因,从而对该程序进行改进。
然而,部分具有内存泄露缺陷的程序对应的进程在每次发生内存泄漏时泄露的内存比较小,因此,在有限的时间内,存在内存泄漏问题的进程可能不会发生OOM,这使得开发人员无法快速地测试出存在内存泄漏问题的进程,导致测试失效。
发明内容
本发明实施例提出了一种进程的内存溢出测试方法、装置及设备,能够较快速地重现进程的内存溢出错误。
为了达到上述目的,本发明实施例提出一种进程的内存溢出测试方法,包括以下步骤:
检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
本实施例中,通过检测进程的内存使用量确定被测试进程,并通过调低操作系统为进程预设的最大可使用堆空间来使被测试进程发生内存溢出,可以使存在内存泄漏问题的进程尽快地发生内存溢出,从而便于开发人员对存在内存泄漏问题的进程进行改进。
作为上述技术方案的优选,所述检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程,采用如下步骤:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
作为上述技术方案的优选,所述调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出的步骤包括:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
作为上述技术方案的优选,调低所述操作系统为进程预设的最大可使用堆空间是通过设置虚拟机堆空间的值来实现。
作为上述技术方案的优选,所述使所述被测试进程发生内存溢出之后,所述方法还包括:
获取所述被测试进程发生内存溢出的出错信息;
其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
本发明实施例还提出一种进程的内存溢出测试装置,包括:
确定模块,用于检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
处理模块,用于调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
作为上述技术方案的优选,所述确定模块用于:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
作为上述技术方案的优选,所述处理模块用于:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
作为上述技术方案的优选,所述处理模块通过设置虚拟机堆空间的值来调低所述操作系统为进程预设的最大可使用堆空间。
作为上述技术方案的优选,所述装置还包括获取模块,用于所述使所述被测试进程发生内存溢出之后,获取所述被测试进程发生内存溢出的出错信息,其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
本发明实施例还提出一种设备,所述设备包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。
下面通过附图和实施例对本发明实施例的技术方案做进一步的详细描述。
附图说明
附图用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明实施例的限制。在附图中:
图1是本发明优选实施例提出的进程的内存溢出测试方法的流程图;
图2是本发明一具体实施例提出的进程的内存溢出测试方法的流程图;
图3是本发明另一具体实施例提出的进程的内存溢出测试方法的流程图;
图4是本发明优选实施例提出的进程的内存溢出测试装置的结构示意图。
具体实施方式
以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明实施例,并不用于限定本发明实施例。
如图1所示为本发明优选实施例提出的一种进程的内存溢出测试方法,包括:
步骤S11:检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
步骤S12:调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
本实施例中,通过检测进程的内存使用量确定被测试进程,并通过调低操作系统为进程预设的最大可使用堆空间来使被测试进程发生内存溢出,可以使存在内存泄漏问题的进程尽快地发生内存溢出,从而便于开发人员对存在内存泄漏问题的进程进行改进。
下面通过其他具体实施例来对本发明实施例提出的进程的内存溢出测试方法进行详细说明。
具体实施例一如图2所示,本实施例以安卓(Android)操作系统中的进程为例说明本发明实施例提出的进程的内存溢出测试方法进行说明。本发明实施例提出的进程的内存溢出测试方法可以实施为一个应用程序安装于用于测试的电脑中,该实施例包括以下步骤:
步骤S21:在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量。
在该步骤中,将装有Android操作系统的手机通过数据线与电脑连接,该电脑的操作系统例如为Linux,安装手机的驱动后,通过发送执行Linux系统的top命令的指令来实时获取Android操作系统中各进程的内存使用情况。
例如,本实施例中通过执行top命令每隔一秒显示一次Android操作系统中各进程的内存使用情况。如表一、表二、表三和表四所示为连续四次获取的安卓系统中各进程的内存使用量(为了方便说明,表中仅列出了内存使用量为前五位的进程)。其中,进程标识(Process IDentity,PID)为进程编号,实际使用物理内存(Resident Set Size,简称RSS)为进程的内存使用量,Name为进程名称。
表一
PID | RSS | Name |
1589 | 85272K | A |
2027 | 44192K | B |
1692 | 64532K | C |
1772 | 42552K | D |
2773 | 60164K | E |
表二
PID | RSS | Name |
1589 | 82348K | A |
2027 | 44192K | B |
10055 | 65008K | F |
1692 | 64540K | C |
1772 | 42552K | D |
表三
PID | RSS | Name |
1589 | 83316K | A |
10055 | 86572K | F |
2027 | 44192K | B |
1692 | 64544K | C |
1772 | 42552K | D |
表四
PID | RSS | Name |
1589 | 83316K | A |
10055 | 106572K | F |
2027 | 44192K | B |
1692 | 64544K | C |
1772 | 42552K | D |
在本发明的其他实施例中,也可以使用电脑通过Android操作系统的调试桥(Android Debug Bridge,ADB)命令对手机进行控制,并将结果反映在电脑的屏幕上。ADB是安卓的软件开发工具包(Software Development Kit,SDK)里的一个工具,可以直接操作管理android模拟器或者真实的Android设备。
步骤S22:将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
该步骤是在没有进程发生OOM时,从所有进程中确定被测试进程(即存在内存泄漏问题的嫌疑进程)。在表一中,进程F的内存使用量为0,在表二中,进程F的内存使用量为65008K,在表三中,进程F的内存使用量为86572K,在表四中,进程F的内存使用量为106572K,可见,该进程的内存使用量呈上升趋势,并且是所有进程中内存使用量上升最快的,因此,将进程F确定为被测试进程。
本发明实施例中,确定嫌疑进程的重点是:进程的内存使用量出现异常增长的进程为嫌疑进程。在本发明的其他实施例中,可能会同时存在两个具有内存泄漏问题的嫌疑进程。此时,将内存使用量呈上升趋势且上升最快的两个进程确定为被测试进程。也就是说,在获取的各进程的内存使用量中,只要是内存使用量呈上升趋势,并且上升速度非常迅猛或异常的进程即为嫌疑进程。
步骤S23:调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生OOM。
目前,操作系统会为进程预设最大可使用堆空间,该最大可使用堆空间是所有进程都必须遵守的,当某个进程的堆空间使用量超过了该最大可使用堆空间,则该进程将发生OOM。因此,为了使被测试进程尽快发生内存溢出,可以调低操作系统为进程预设的最大可使用堆空间。
在本步骤中,可以逐渐调低该最大可使用堆空间,直到被测试进程发生内存溢出;例如,每隔预设时间段将所述Android操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生OOM。
也可以直接将该最大可使用堆空间调低至接近该被测试进程发生OOM的值。例如,在数据四中,进程F的内存使用量为1065772K,这时,可以直接将最大可使用堆空间调低至1065772K,这样,进程F将很快发生OOM。
优选地,调低所述操作系统为进程预设的最大可使用堆空间是通过设置虚拟机堆空间的值来实现的。例如,发送指令以设置Android操作系统中的/system/build.prop中的dalvik.vm.heapsize的值。其中,build.prop为Android操作系统中类似Windows系统注册表的文件,该文件内定义了系统初始(或永久)的一些参数属性、功能的开放等。
在本发明的其他实施例中,在执行步骤S23时,可以继续执行步骤S21,以继续获取各进程的内存使用量,例如获取表五和表六所示的数据。
表五
PID | RSS | Name |
1589 | 82336K | A |
2027 | 44192K | B |
1692 | 64548K | C |
1772 | 42552K | D |
2773 | 60164K | E |
表六
PID | RSS | Name |
1589 | 82912K | A |
10084 | 78000K | F |
2027 | 44192K | B |
1692 | 64552K | C |
1772 | 42552K | D |
从表五中可以看出,进程F的内存使用量已经不在前五中,而表六中又出现了,可以说明进程F发生了OOM,并被Android操作系统强制关闭后重启。因此,可以确认被测试进程发生了OOM。
具体实施例二如图3所示,本实施例在上述实施例的基础上增加了获取出错信息的步骤,具体地,该具体实施例提出的进程的内存溢出测试方法包括:
步骤S31:在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量。
步骤S32:将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
步骤S33:调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生OOM。
步骤S34:获取所述被测试进程发生内存溢出的出错信息。
在本步骤中,可以通过发送指令来获取通过Android操作系统中的logcat命令保存的被测试进程发生OOM的出错信息。
在该出错信息中,至少包括有被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置,还可以包括导致所述被测试进程发生OOM的原因。
例如,出错信息中包括有被测试进程的发生OOM的原因,具体如下:
“E/AndroidRuntime(2980):at android.graphics.BitmapFactory.nativeDecodeStream(Native Method)”。
表示进程在调用系统本地的nativeDecodeStream时发生OOM。
出错信息中还包括被测试进程的代码中发生错误的位置,具体如下:
“E/AndroidRuntime(2980):at com.miui.home.launcher.upsidescene.decodeBitmapFromZip(SceneData.java:1044)”。
说明该进程的代码中方法部分(decodeBitmapFromZip)调用nativeDecodeStream时发生错误,且错误发生在第1044行。
这时,开发人员可去检查代码decodeBitmapFromZip的第1044行,以得到发生OOM的具体原因,并进行改进。
相应地,如图4所示,本发明实施例还提出一种内存泄漏重现装置,包括:
确定模块401,用于检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
处理模块402,用于调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
优选地,所述确定模块401用于:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
优选地,所述处理模块402用于:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
优选地,所述处理模块402通过设置虚拟机堆空间的值来调低所述操作系统为进程预设的最大可使用堆空间。
优选地,所述装置还包括获取模块,用于所述使所述被测试进程发生内存溢出之后,获取所述被测试进程发生内存溢出的出错信息,其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
本发明实施例还提出一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
所述检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程,采用如下步骤:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
优选地,所述调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出的步骤包括:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
优选地,调低所述操作系统为进程预设的最大可使用堆空间是通过设置虚拟机堆空间的值来实现。
优选地,所述使所述被测试进程发生内存溢出之后,所述方法还包括:
获取所述被测试进程发生内存溢出的出错信息,其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
另外,本发明实施例还提供了一种非易失性可读存储介质,该存储介质中存储有一个或多个模块(programs),该一个或多个模块被应用在具有一个或多个处理器的设备时,可以使得该设备执行如下步骤的指令(instructions):
检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
所述检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程,采用如下步骤:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
优选地,所述调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出的步骤包括:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
优选地,调低所述操作系统为进程预设的最大可使用堆空间是通过设置虚拟机堆空间的值来实现。
优选地,所述使所述被测试进程发生内存溢出之后,所述方法还包括:
获取所述被测试进程发生内存溢出的出错信息,其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (11)
1.一种进程的内存溢出测试方法,其特征在于,包括以下步骤:
检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
2.根据权利要求1所述的方法,其特征在于,所述检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程,采用如下步骤:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
3.根据权利要求1所述的方法,其特征在于,所述调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出的步骤包括:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
4.根据权利要求1或3所述的方法,其特征在于,调低所述操作系统为进程预设的最大可使用堆空间是通过设置虚拟机堆空间的值来实现。
5.根据权利要求1所述的方法,其特征在于,所述使所述被测试进程发生内存溢出之后,所述方法还包括:
获取所述被测试进程发生内存溢出的出错信息;
其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
6.一种进程的内存溢出测试装置,其特征在于,包括:
确定模块,用于检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
处理模块,用于调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
7.根据权利要求6所述的装置,其特征在于,所述确定模块用于:
在预设时间内按照预设时间间隔获取操作系统中各进程的内存使用量;
将内存使用量呈上升趋势且上升最快的进程确定为被测试进程。
8.根据权利要求6所述的装置,其特征在于,所述处理模块用于:
每隔预设时间段将所述操作系统为进程预设的最大可使用堆空间调低预设值,直到所述被测试进程发生内存溢出。
9.根据权利要求6或8所述的装置,其特征在于,所述处理模块通过设置虚拟机堆空间的值来调低所述操作系统为进程预设的最大可使用堆空间。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括获取模块,用于所述使所述被测试进程发生内存溢出之后,获取所述被测试进程发生内存溢出的出错信息;
其中,所述出错信息至少包括所述被测试进程对应的代码中导致所述被测试进程发生内存溢出的代码的位置。
11.一种设备,其特征在于,所述设备包括:
一个或多个处理器;
存储器;和
一个或多个模块,所述一个或多个模块存储于所述存储器中并被配置成由所述一个或多个处理器执行,其中,所述一个或多个模块具有如下功能:
检测操作系统中各进程的内存使用量,将内存使用量满足预设条件的进程确定为被测试进程;
调低所述操作系统为进程预设的最大可使用堆空间,使所述被测试进程发生内存溢出。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210528416.1A CN103049376B (zh) | 2012-12-10 | 2012-12-10 | 一种进程的内存溢出测试方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210528416.1A CN103049376B (zh) | 2012-12-10 | 2012-12-10 | 一种进程的内存溢出测试方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049376A true CN103049376A (zh) | 2013-04-17 |
CN103049376B CN103049376B (zh) | 2015-08-19 |
Family
ID=48062023
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210528416.1A Active CN103049376B (zh) | 2012-12-10 | 2012-12-10 | 一种进程的内存溢出测试方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049376B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050044A (zh) * | 2014-06-19 | 2014-09-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种终端、一种释放内存的方法及装置 |
CN104461296A (zh) * | 2014-12-05 | 2015-03-25 | 广东欧珀移动通信有限公司 | 一种在pc端共享移动终端的方法及装置 |
CN104834601A (zh) * | 2015-05-13 | 2015-08-12 | 上海斐讯数据通信技术有限公司 | 基于Android系统的智能终端内存泄露的自动化测试方法 |
CN105204996A (zh) * | 2015-09-24 | 2015-12-30 | 努比亚技术有限公司 | 内存泄露检测装置及方法、终端 |
CN108073441A (zh) * | 2016-11-14 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1936506A1 (en) * | 2006-12-18 | 2008-06-25 | Leirios | System test generator |
CN102279797A (zh) * | 2011-08-30 | 2011-12-14 | 深圳宝德科技集团股份有限公司 | 一种检测内存泄漏的方法及系统 |
CN102662850A (zh) * | 2012-03-30 | 2012-09-12 | 杭州华三通信技术有限公司 | 一种内存管理方法及其系统 |
-
2012
- 2012-12-10 CN CN201210528416.1A patent/CN103049376B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1936506A1 (en) * | 2006-12-18 | 2008-06-25 | Leirios | System test generator |
CN102279797A (zh) * | 2011-08-30 | 2011-12-14 | 深圳宝德科技集团股份有限公司 | 一种检测内存泄漏的方法及系统 |
CN102662850A (zh) * | 2012-03-30 | 2012-09-12 | 杭州华三通信技术有限公司 | 一种内存管理方法及其系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050044A (zh) * | 2014-06-19 | 2014-09-17 | 宇龙计算机通信科技(深圳)有限公司 | 一种终端、一种释放内存的方法及装置 |
CN104461296A (zh) * | 2014-12-05 | 2015-03-25 | 广东欧珀移动通信有限公司 | 一种在pc端共享移动终端的方法及装置 |
CN104461296B (zh) * | 2014-12-05 | 2018-07-03 | 广东欧珀移动通信有限公司 | 一种在pc端共享移动终端的方法及装置 |
CN104834601A (zh) * | 2015-05-13 | 2015-08-12 | 上海斐讯数据通信技术有限公司 | 基于Android系统的智能终端内存泄露的自动化测试方法 |
CN104834601B (zh) * | 2015-05-13 | 2017-12-05 | 上海斐讯数据通信技术有限公司 | 基于Android系统的智能终端内存泄露的自动化测试方法 |
CN105204996A (zh) * | 2015-09-24 | 2015-12-30 | 努比亚技术有限公司 | 内存泄露检测装置及方法、终端 |
CN108073441A (zh) * | 2016-11-14 | 2018-05-25 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
CN108073441B (zh) * | 2016-11-14 | 2022-05-10 | 阿里巴巴集团控股有限公司 | 一种虚拟机内存监管方法与设备 |
Also Published As
Publication number | Publication date |
---|---|
CN103049376B (zh) | 2015-08-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3213216B1 (en) | Diagnostic workflow for production debugging | |
US8561033B2 (en) | Selective branch-triggered trace generation apparatus and method | |
US9946628B2 (en) | Embedding and executing trace functions in code to gather trace data | |
CN103049376B (zh) | 一种进程的内存溢出测试方法、装置及设备 | |
CN101587455B (zh) | 一种用于vxWorks操作系统检查内存泄漏的方法 | |
TWI612439B (zh) | 用以偵測未經授權之記憶體存取的計算裝置、方法及機器可讀儲存媒體 | |
US9558055B2 (en) | System level memory leak detection | |
CN101446918B (zh) | 一种实现用户态调试器调试单个函数的方法及系统 | |
KR20170132296A (ko) | 연합 기반 메모리 관리 | |
WO2016004657A1 (zh) | 一种针对嵌入式软件的测试用例自动化生成装置及其方法 | |
CN101241444B (zh) | 用于动态二进制翻译的调试方法 | |
Zhang et al. | A comprehensive benchmark of deep learning libraries on mobile devices | |
CN103389939A (zh) | 一种针对堆可控分配漏洞的检测方法及系统 | |
US9176821B2 (en) | Watchpoint support system for functional simulator | |
CN104505126A (zh) | 一种动态存储器测试系统及方法 | |
CN102999409A (zh) | 一种内存测试方法及嵌入式设备 | |
US10846211B2 (en) | Testing kernel mode computer code by executing the computer code in user mode | |
CN100386733C (zh) | 芯片电子硬件上具有中止执行能力的除错支援单元及方法 | |
CN104298618A (zh) | 一种智能终端的命令处理方法及装置 | |
CN103810087A (zh) | 测试应用程序性能的方法和装置 | |
CN104978227B (zh) | 一种进程控制方法、装置,及系统 | |
CN106095631B (zh) | 一种基于有限状态机实现的多周期非流水线cpu动态调试方法 | |
CN102063308B (zh) | 一种用于地震勘探资料处理流程控制的方法 | |
CN103955424B (zh) | 一种虚拟化嵌入式二进制软件缺陷检测系统 | |
CN105512025B (zh) | 基于模拟消息的Fuzz引擎优化方法与系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C53 | Correction of patent of invention or patent application | ||
CB02 | Change of applicant information |
Address after: 100085 Beijing city Haidian District Qinghe Street No. 68 Huarun colorful city shopping center two floor 13 Applicant after: Xiaomi Technology Co., Ltd. Address before: 100102, No. 50, block B, building No. 12, winding stone world building, Wangjing West Road, Beijing, Chaoyang District Applicant before: Beijing Xiaomi Technology Co., Ltd. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |