内存泄露检测装置及方法、终端的制作方法

文档序号:9452997阅读:270来源:国知局
内存泄露检测装置及方法、终端的制作方法
【技术领域】
[0001]本发明涉及计算机领域,尤其涉及一种内存泄露检测装置及方法、终端。
【背景技术】
[0002]在计算机科学中,内存泄露是指分配了内存给某个进程使用,而该进程使用完内存后没有释放内存,导致已分配的内存无法回收再利用。随着进程的运行,系统中的可用的内存就会越来越少,导致系统由于没有足够的内存而瘫痪,造成严重影响。内存泄露可能是由于开发人员考虑不周,编写的代码存在隐患没能及时释放内存,也可能是系统出现了异常,没有释放内存导致的。
[0003]目前,测试内存泄露的方法有很多,大多都涉及到相关的软件代码,是通过走查、反复调试来定位被测进程的代码中存在内存泄露的点,也可以借助如ccmalloc、Leaky等相关的工具来进行定位,判断被测进程是否存在内存泄露。采用现有的内存泄露测试方式,存在干扰大,测试不准确的缺陷。

【发明内容】

[0004]本发明的主要目的在于提出一种内存泄露检测装置及方法、终端,旨在解决现有技术中,对被测进程的内存泄露检测不准确的技术问题。
[0005]为实现上述目的,本发明提供一种内存泄露检测装置,该装置包括:
[0006]采集模块,用于采集被测进程的内存采样信息,所述内存采样信息包括采样时间、被测进程在所述采样时间对应的内存占用值;
[0007]生成模块,用于生成所述被测进程的内存占用值的变化趋势;
[0008]检测模块,用于根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露。
[0009]可选的,所述检测模块还用于,在所述被测进程的内存占用值的变化趋势为递增趋势时,判断所述被测进程存在内存泄露,否则,判断所述被测进程不存在内存泄露。
[0010]可选的,所述装置还包括:
[0011]获取模块,用于获取测试脚本,所述测试脚本为shell脚本;
[0012]所述采集模块,还用于运行shell脚本采集被测进程的内存采样信息。
[0013]可选的,所述装置还包括:
[0014]定位模块,用于在所述被测进程存在内存泄露时,根据所述被测进程的内存占用值的变化趋势定位被测进程发生内存泄露的对象或代码段。
[0015]可选的,所述装置还包括:
[0016]发送模块,用于将所述采集的被测进程的内存采样信息发送给监控终端,以使得所述监控终端生成所述被测进程的内存占用值的变化趋势,并根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露。
[0017]此外,为实现上述目的,本发明还提出一种内存泄露检测方法,该方法包括:
[0018]采集被测进程的内存采样信息,所述内存采样信息包括采样时间、被测进程在所述采样时间对应的内存占用值;
[0019]生成所述被测进程的内存占用值的变化趋势;
[0020]根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄
Mo
[0021]可选的,所述根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露的步骤包括:
[0022]若所述被测进程的内存占用值的变化趋势为递增趋势,则判断所述被测进程存在内存泄露,否则,判断所述被测进程不存在内存泄露。
[0023]可选的,所述根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露的步骤之后,该方法还包括:
[0024]在所述被测进程存在内存泄露时,根据所述被测进程的内存占用值的变化趋势定位所述被测进程发生内存泄露的对象或代码段。
[0025]可选的,所述米集被测进程的内存米样?目息,所述内存米样?目息包括米样时间、被测进程在所述采样时间对应的内存占用值的步骤之后,该方法还包括:
[0026]将所述采集的被测进程的内存采样信息发送给监控终端,以使得所述监控终端生成所述被测进程的内存占用值的变化趋势,并根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露。
[0027]此外,为实现上述目的,本发明还提出一种终端,所述终端包括上述任一项所述的内存泄露检测装置。
[0028]本发明提出的内存泄露检测装置及方法、终端,所述内存泄露检测装置包括:采集模块,用于采集被测进程的内存采样信息,所述内存采样信息包括采样时间、被测进程在所述采样时间对应的内存占用值;生成模块,用于生成所述被测进程的内存占用值的变化趋势;检测模块,用于根据所述被测进程的内存占用值的变化趋势,判断所述被测进程是否存在内存泄露。运用本发明提供的技术方案可在该被测进程所在的终端的底层运行测试脚本,准确的采集到被测进程的内存采样信息,再根据采集到的内存采样信息判断被测进程是否发生内存泄露,可提高内存泄露检测的准确性。
【附图说明】
[0029]图1为实现本发明各个实施例的移动终端的硬件结构示意图;
[0030]图2为如图1所示的移动终端的无线通信装置示意图;
[0031]图3为本发明内存泄露检测装置的第一实施例的结构示意图;
[0032]图4为被测进程在某一时刻所消耗的内存情况示意图;
[0033]图5为被测进程的内存占用值的变化趋势的示意图;
[0034]图6为本发明内存泄露检测装置的第二实施例的结构示意图;
[0035]图7为本发明内存泄露检测装置的第三实施例的结构示意图;
[0036]图8为本发明内存泄露检测装置的第四实施例的结构示意图;
[0037]图9为本发明内存泄露检测方法的第一实施例的流程示意图;
[0038]图10为本发明内存泄露检测方法的第二实施例的流程示意图;
[0039]图11为本发明内存泄露检测方法的第三实施例的流程示意图。
[0040]本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
【具体实施方式】
[0041]应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0042]现在将参考附图描述实现本发明各个实施例的移动终端。在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
[0043]移动终端可以以各种形式来实施。例如,本发明中描述的终端可以包括诸如移动电话、智能电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP (便携式多媒体播放器)、导航装置等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。下面,假设终端是移动终端。然而,本领域技术人员将理解的是,除了特别用于移动目的的元件之外,根据本发明的实施方式的构造也能够应用于固定类型的终端。
[0044]图1为实现本发明各个实施例的移动终端的硬件结构示意。
[0045]移动终端100可以包括无线通信单元110、A/V (音频/视频)输入单元120、用户输入单元130、感测单元140、输出单元150、存储器160、接口单元170、控制器180和电源单元190等等。图1示出了具有各种组件的移动终端,但是应理解的是,并不要求实施所有示出的组件。可以替代地实施更多或更少的组件。将在下面详细描述移动终端的元件。
[0046]无线通信单元110通常包括一个或多个组件,其允许移动终端100与无线通信装置或网络之间的无线电通信。例如,无线通信单元可以包括广播接收模块111、移动通信模块112、无线互联网模块113、短程通信模块114和位置信息模块115中的至少一个。
[0047]广播接收模块111经由广播信道从外部广播管理服务器接收广播信号和/或广播相关信息。广播信道可以包括卫星信道和/或地面信道。广播管理服务器可以是生成并发送广播信号和/或广播相关信息的服务器或者接收之前生成的广播信号和/或广播相关信息并且将其发送给终端的服务器。广播信号可以包括TV广播信号、无线电广播信号、数据广播信号等等。而且,广播信号可以进一步包括与TV或无线电广播信号组合的广播信号。广播相关信息也可以经由移动通信网络提供,并且在该情况下,广播相关信息可以由移动通信模块112来接收。广播信号可以以各种形式存在,例如,其可以以数字多媒体广播(DMB)的电子节目指南(EPG)、数字视频广播手持(DVB-H)的电子服务指南(ESG)等等的形式而存在。广播接收模块111可以通过使用各种类型的广播装置接收信号广播。特别地,广播接收模块111可以通过使用诸如多媒体广播-地面(DMB-T)、数字多媒体广播-卫星(DMB-S)、数字视频广播-手持(DVB-H),前向链路媒体(MediaFL0@)的数据广播装置、地面数字广播综合服务(ISDB-T)等等的数字广播装置接收数字广播。广播接收模块111可以被构造为适合提供广播信号的各种广播装置以及上述数字广播装置。经由广播接收模块111接收的广播信号和/或广播相关信息可以存储在存储器160 (或者其它类型的存储介质)中。
[0048]移动通信模块112将无线电信号发送到基站(例如,接入点、节点B等等)、外部终端以及服务器中的至少一个和/或从其接收无线电信号。这样的无线电信号可以包括语音通话信号、视频通话信号、或者根据文本和/或多媒体消息发送和/或接收的各种类型的数据。
[0049]无线互联网模块113支持移动终端的无线互联网接入。该模块可以内部或外部地耦接到终端。该模块所涉及的无
当前第1页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1