CN1466057A - 一种软件内存泄露的检查方法 - Google Patents
一种软件内存泄露的检查方法 Download PDFInfo
- Publication number
- CN1466057A CN1466057A CNA021214182A CN02121418A CN1466057A CN 1466057 A CN1466057 A CN 1466057A CN A021214182 A CNA021214182 A CN A021214182A CN 02121418 A CN02121418 A CN 02121418A CN 1466057 A CN1466057 A CN 1466057A
- Authority
- CN
- China
- Prior art keywords
- memory
- internal memory
- application
- inspection
- module
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软件内存泄露的检查方法,该方法首先确定应用程序申请的内存块,以及所申请的不同内存块被占用的时间,在应用程序运行时,记录其申请内存块和释放内存块的信息,最后确定超过占用时间尚未释放的内存块,通过上述内存块确定应用程序的内存泄露点;采用上述方案进行应用程序内存泄露的检查对应用程序具有较小地影响,且易于实现和成本低廉,有利于在应用程序运行过程中对可能产生的内存泄露进行长期检测,有助于发现应用程序在一些实际环境下才出现的或者较隐蔽的内存泄漏错误。
Description
技术领域
本发明涉及软件性能的测试方法,具体地说涉及到软件内存泄露的检查方法。
背景技术
在软件(或者说应用程序)的诸多缺陷中,内存泄漏是一项比较难发现的错误。导致软件内存泄露的原因可能多种多样的,例如可能是由软件设计缺陷造成的,也可能是由操作***造成的。无论如何,如果软件存在内存泄漏的缺陷,将会导致***可用内存减少,运行效率下降;对那些需长期不间断运行的软件,即使一次只泄漏很少的内存,经过长期积累也会导致***内存耗尽直至瘫痪。因此,软件的内存泄漏检查是测试中一个重要的检查项。目前的软件内存泄露检查一般采用一些专用内存检查工具进行,尽管这些工具可以检测出大部分软件的内存错误操作。但使用这些工具也有几个不足之处:一是这些工具大多都是大型商业软件,成本较高;二是这些工具是通过在可执行文件中***监视代码来实现内存的操作监视,使得软件的程序代码或容量要增大很多,运行起来也要慢很多,只能在软件处于测试阶段时使用,即只能进行静态检查,软件正式在线运行时无法进行检测,而一些比较隐蔽的内存泄漏,只有在正式运行环境下才能出现,要捕捉这些内存泄漏,上述专用内存检查工具提供的方法已无能为力。
发明内容
本发明的目的在于提供一种成本较低、能够在软件在线运行时进行检查的软件内存泄露的检查方法。
为达到上述目的,本发明提供的软件内存泄露的检查方法,包括:
a.确定应用程序申请的内存块,以及所申请的不同内存块被占用的时间;
b.在应用程序运行时,记录其申请内存块和释放内存块的信息;
c.确定超过占用时间尚未释放的内存块,通过上述内存块确定应用程序的内存泄露点。
所述方法还包括:
定义内存块记录表,以记录应用程序申请内存块和释放内存块的信息。
设置内存块计数器,用于对应用程序申请和释放的内存块进行管理。
上述方法通过在应用程序中嵌入内存泄露检查模块实现。
由于本发明在应用程序运行时,记录其申请内存块和释放内存块的信息,通过确定超过占用时间尚未释放的内存块来确定软件的内存泄露点,上述方法的实现可以通过在应用程序中嵌入专用的内存泄露模块完成,这样,采用本发明的方法不但适合对应用程序的内存泄露进行在线检查,还由于在应用程序运行时仅记录其申请内存块和释放内存块的信息,对应用程序具有较小地影响,且易于实现和成本低廉;因此,采用本发明有利于在应用程序运行过程中对可能产生的内存泄露进行长期检测,有助于发现一些实际环境下才出现的或者较隐蔽的内存泄漏错误;同时,通过专用的控制模块对内存泄露检查模块进行控制,使得内存泄露检查的各个步骤时间长短(主要是等待释放的状态或步骤的时长)得以控制,从而可以适应占用时长不同的内存块。另外,使用本方法进行的内存泄漏检查可以随时启动和停止,从而使检查对应用程序的影响可以得到进一步的控制,例如可以避开程序的事务繁忙期,在程序空闲时启动检查,或者缩短检查的时长等等。
附图说明
图1是本发明所述方法的实施例流程图;
图2是图1所述实施例采用的内存泄漏检查模块和应用程序其它模块的关系图;
图3是内存泄漏检查模块内部逻辑结构图;
图4是内存泄漏检查模块在进行内存泄露检查时的状态迁移图。
具体实施方式
下面结合附图对本发明作进一步详细的描述。
图1是本发明所述方法的实施例流程图。图1所述方法的实质,是通过在应用程序中嵌入一个内存泄漏检查模块,使应用程序中所有的内存申请和释放操作都通过该模块进行,再通过该模块记录应用程序申请和释放的内存块的地址、时间等信息,来实现对内存使用状况的监视,从而完成应用程序内存泄露的检查。
按照图1实施本发明,首先经步骤1设置一个内存泄漏检查模块,并将其嵌入到应用程序中,并且定义一个内存块记录表来记录应用程序其他模块所申请的内存块和释放的内存块的信息,本例中的内存块记录表为哈希表。同时还设置一个内存块计数器,用于对哈希表中的内存块进行管理;设置内存泄露检查模块的控制模块。在哈希表中记录的内存块的信息包括内存块的起始地址、内存块大小、起始时间等,还可以记录一些调试信息,如执行申请操作的代码所在的文件、行号等,以内存块的起始地址作为哈希表的关键字,由于同一进程申请的两个内存块的起始地址不可能相同,因此可以保证哈希表中的元素关键字不重复。当程序中的其它模块调用内存泄漏检查模块申请内存时,首先调用操作***提供的接口申请内存,若申请内存成功,则在哈希表中添加一条元素,记录该内存块的信息,并增加计数器的值。若应用程序中的其它模块调用内存泄漏检查模块释放内存,则以内存块起始地址为关键字到哈希表中查找相应的记录,找到后删除该记录并减少相应的计数器的值。
步骤1设置的内存泄漏检查模块内部逻辑结构参考图3。图3所示,在应用程序成功申请内存块后,通过内存泄露检查模块的申请内存接口在哈希表中***一条内存块信息记录,同时更新计数器的值;在应用程序成功释放内存块后,通过内存泄露检查模块的释放内存接口在哈希表中删除一条相应的内存块信息记录,同时更新计数器的值。
在步骤1中设置的内存泄漏检查模块和应用程序其它模块以及控制模块的关系参考图2。图2所示,应用程序的其它模块在进行内存块的申请和释放操作时,都要经过内存泄露检查模块管理,即在调用操作***进行内存块的申请和释放时要由内存泄露检查模块管理申请和释放的内存块;内存泄露检查模块由控制模块控制,并将检查结果送给控制模块分析处理。
然后在步骤2根据应用程序的具体情况确定应用程序需要申请的内存块,以及所申请的不同内存块被占用的时间,或者可能被占用的时间。接着运行应用程序,并在步骤3用哈希表记录应用程序申请内存块和释放内存块的信息;在需要进行内存泄露分析时,由控制模块在步骤4通过内存泄露检查模块确定的超过占用时间尚未释放的内存块,确定应用程序的内存泄露点。
为便于控制模块控制内存泄露检查模块进行应用程序内存泄露的检查,本例中在内存泄露检查模块另设一个状态字段来记录模块当前的状态,并据之进行相应的动作。在控制模块对内存泄漏模块进行控制进行内存泄漏检查时,通过向嵌入到应用程序中的内存泄露检查模块发送信号或消息,促使内存泄漏检测模块进行适合的状态迁移,执行内存泄漏检查操作。内存泄露检查模块的各个状态以及状态间的迁移关系如下:
1)空闲状态:在此状态下,内存泄漏检查模块并不对内存申请和释放操作进行记录,这些操作都被透明地传递给操作***,模块中的哈希表和计数器也处于清空状态。
2)操作记录状态:在“空闲状态”下收到控制模块发来的“启动记录”信号时,进入此状态。在此状态下,内存泄漏检查模块按照前面的方法记录程序中的内存申请和释放操作。
3)等待释放状态:在“操作记录状态”下收到到控制模块发来的“停止***”信号时进入此状态。在该状态下,内存泄漏检查模块只对释放内存的操作进行记录,而不记录申请内存的操作。之所以要有这个阶段,是因为程序申请的内存块总是使用一段时间后才释放,为了完整的记录所申请的内存块的释放情况,防止出现误报,对释放操作的记录必须长于对申请操作的记录。需要说明的是,这个阶段的时间长度可以根据需要进行调整,原则是要有足够的时间让应用程序释放在“操作记录状态”中所申请的内存。经过这个阶段还未释放的内存就认为是可能的内存泄漏。例如,如果知道应用程序中申请的某部分内存资源最多使用一个小时后就会释放,首先让内存泄漏检查模块在“操作记录状态”记录一些内存申请,然后进入“等待释放状态”,等待一个小时,若还有这部分的内存资源没有释放,则可以认为是内存泄漏。
4)停止状态:在“等待释放状态”下收到控制模块发来的“停止”信号时进入此状态。在该状态下,内存泄漏检查也不记录内存申请和释放操作,但哈希表和计数器中还保留着状态2和状态3时记录的数据,可以根据需要对这些数据进行查询或让内存泄漏检查模块将数据输出到文件由控制模块进行分析处理。
一次完整的内存泄漏检查中,内存泄漏检查模块要依次经过上面的四种状态,其状态的迁移参考图4。从图4可以看到,通过控制模块的控制,可以让内存泄漏检查模块在任何状态下直接回到空闲状态。各个状态之间的切换由控制模块发送的信号或消息控制,一次检查结束后,就可以根据哈希表中记录的还未释放的内存块的信息来分析应用程序中可能产生泄漏的地方。
在内存泄漏检查模块的具体实现中,可以选择不同的哈希算法,并根据程序中内存申请操作的频繁度来调整哈希表的大小,以适应各种检测环境的需要。同时,控制模块在内存泄露检查时的各个状态的时长可以控制,以满足实际的控制需要。
Claims (7)
1、一种软件内存泄露的检查方法,包括:
a.确定应用程序申请的内存块,以及所申请的不同内存块被占用的时间;
b.在应用程序运行时,记录其申请内存块和释放内存块的信息;
c.确定超过占用时间尚未释放的内存块,通过上述内存块确定应用程序的内存泄露点。
2、根据权利要求1所述的软件内存泄露的检查方法,其特征在于所述方法包括:定义内存块记录表,以记录应用程序申请内存块和释放内存块的信息。
3、根据权利要求2所述的软件内存泄露的检查方法,其特征在于:所述内存块记录表为哈希(HASH)表。
4、根据权利要求3所述的软件内存泄露的检查方法,其特征在于所述方法包括:设置内存块计数器,用于对应用程序申请和释放的内存块进行管理。
5、根据权利要求1、2、3或4所述的软件内存泄露的检查方法,其特征在于:所述方法通过在应用程序中嵌入内存泄露检查模块实现。
6、根据权利要求5所述的软件内存泄露的检查方法,其特征在于:设置控制模块,以从应用程序外部控制内存泄露检查模块进行内存泄露的检查。
7、根据权利要求6所述的软件内存泄露的检查方法,其特征在于:控制模块控制内存泄露检查模块按照下述步骤实现状态的迁移以进行内存泄露的检查:
(71)首先使内存泄露检查模块处于空闲状态,当需要进行内存泄露分析时,向内存泄露检查模块发送操作记录信号,使其进入操作记录状态记录应用程序的内存申请和释放操作;
(72)记录一段时间后,向内存泄露检查模块发送停止***记录信号,使其进入等待释放状态,只记录内存释放操作而不记录内存申请操作,等待哈希表中记录的尚未释放的内存块释放;
(73)当需要确定是否存在内存泄露时,向内存泄露检查模块发送停止信号,使其进入停止状态以分析确定是否存在内存泄露;
(74)当需要重新开始内存泄露检查时,向内存泄露检查模块发送复位信号,然后转步骤(71)进行新一轮的内存泄露检查。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02121418 CN1248114C (zh) | 2002-06-20 | 2002-06-20 | 一种软件内存泄露的检查方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 02121418 CN1248114C (zh) | 2002-06-20 | 2002-06-20 | 一种软件内存泄露的检查方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1466057A true CN1466057A (zh) | 2004-01-07 |
CN1248114C CN1248114C (zh) | 2006-03-29 |
Family
ID=34142185
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 02121418 Expired - Fee Related CN1248114C (zh) | 2002-06-20 | 2002-06-20 | 一种软件内存泄露的检查方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1248114C (zh) |
Cited By (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382043C (zh) * | 2004-09-20 | 2008-04-16 | 华为技术有限公司 | 一种内存监控的装置及方法 |
CN100388233C (zh) * | 2005-12-29 | 2008-05-14 | 兆日科技(深圳)有限公司 | 一种定位无操作***的嵌入式***内存泄露的方法 |
CN100389403C (zh) * | 2005-04-07 | 2008-05-21 | 华为技术有限公司 | 内存泄漏检测及恢复的方法 |
CN100392606C (zh) * | 2005-07-14 | 2008-06-04 | 中兴通讯股份有限公司 | 一种定位虚拟操作***内存泄漏的方法 |
CN100462925C (zh) * | 2005-12-08 | 2009-02-18 | 中兴通讯股份有限公司 | 自动释放嵌入式***中应用程序模块泄漏内存的方法 |
CN101814049A (zh) * | 2010-03-23 | 2010-08-25 | 北京大学 | 一种内存泄漏探测方法 |
CN101819549A (zh) * | 2010-04-13 | 2010-09-01 | 东莞宇龙通信科技有限公司 | 一种内存泄露的定位方法及装置 |
CN101587455B (zh) * | 2008-12-11 | 2010-09-22 | 南京南瑞继保电气有限公司 | 一种用于vxWorks操作***检查内存泄漏的方法 |
CN101419568B (zh) * | 2007-10-26 | 2010-11-03 | 英业达股份有限公司 | 电脑可执行的翻译软件测试***及其方法 |
CN101908018A (zh) * | 2010-07-20 | 2010-12-08 | 北京海泰方圆科技有限公司 | 一种判断内存泄露的***及方法 |
CN102043672A (zh) * | 2009-10-13 | 2011-05-04 | 中兴通讯股份有限公司 | 一种管理迭代器的方法及*** |
CN101414272B (zh) * | 2008-10-17 | 2011-06-08 | 上海华为技术有限公司 | 内存泄漏的检测方法和装置 |
CN101539976B (zh) * | 2009-04-23 | 2011-08-31 | 南京大学 | 二进制程序内存腐烂攻击的实时检测*** |
CN102262582A (zh) * | 2010-05-25 | 2011-11-30 | 芯讯通无线科技(上海)有限公司 | 移动终端及其内存泄露检测方法 |
CN102681938A (zh) * | 2012-05-15 | 2012-09-19 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN101339533B (zh) * | 2007-07-04 | 2012-10-10 | 国际商业机器公司 | 基于分区的诊断Java***的内存泄漏的方法及装置 |
CN102904923A (zh) * | 2012-06-21 | 2013-01-30 | 华数传媒网络有限公司 | 一种缓解磁盘读取瓶颈的数据读取的方法及*** |
CN101615143B (zh) * | 2008-06-27 | 2013-04-17 | 国际商业机器公司 | 用于内存泄漏诊断的方法和装置 |
CN103123604A (zh) * | 2011-11-18 | 2013-05-29 | 苹果公司 | 跟踪数据处理***的内存使用的方法 |
CN104516817A (zh) * | 2012-05-15 | 2015-04-15 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN104731661A (zh) * | 2015-03-02 | 2015-06-24 | 大唐移动通信设备有限公司 | 一种回收泄露的程序运行资源的方法及装置 |
CN105008814A (zh) * | 2013-03-04 | 2015-10-28 | 三菱电机株式会社 | 空调机的管理装置和方法 |
CN105260314A (zh) * | 2015-11-03 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 内存泄漏的监测方法 |
CN105260313A (zh) * | 2015-10-27 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 内存泄漏检查***及方法 |
CN105302714A (zh) * | 2014-07-24 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种测试过程中内存泄漏的监控方法和装置 |
CN102053868B (zh) * | 2009-11-04 | 2016-08-10 | 突触计算机***(上海)有限公司 | 一种内存泄露检测方法和装置 |
CN107436845A (zh) * | 2017-07-27 | 2017-12-05 | 南京华飞数据技术有限公司 | 一种动态内存监测***及其监测方法 |
CN108182146A (zh) * | 2017-12-27 | 2018-06-19 | 北京奇艺世纪科技有限公司 | 一种内存泄漏的检测方法及*** |
US10289472B2 (en) | 2014-08-26 | 2019-05-14 | Huawei Technologies Co., Ltd. | Resource leak detection method, apparatus, and system |
CN112527663A (zh) * | 2020-12-17 | 2021-03-19 | 杭州国芯科技股份有限公司 | 一种嵌入式***中软件所用内存的检测方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100504811C (zh) * | 2007-06-13 | 2009-06-24 | 中兴通讯股份有限公司 | 一种检测内存泄露的方法 |
CN107179949B (zh) * | 2016-12-16 | 2020-11-24 | 重庆大学 | 一种用于移动设备中操作***内存分配流畅度的量化方法 |
-
2002
- 2002-06-20 CN CN 02121418 patent/CN1248114C/zh not_active Expired - Fee Related
Cited By (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100382043C (zh) * | 2004-09-20 | 2008-04-16 | 华为技术有限公司 | 一种内存监控的装置及方法 |
CN100389403C (zh) * | 2005-04-07 | 2008-05-21 | 华为技术有限公司 | 内存泄漏检测及恢复的方法 |
CN100392606C (zh) * | 2005-07-14 | 2008-06-04 | 中兴通讯股份有限公司 | 一种定位虚拟操作***内存泄漏的方法 |
CN100462925C (zh) * | 2005-12-08 | 2009-02-18 | 中兴通讯股份有限公司 | 自动释放嵌入式***中应用程序模块泄漏内存的方法 |
CN100388233C (zh) * | 2005-12-29 | 2008-05-14 | 兆日科技(深圳)有限公司 | 一种定位无操作***的嵌入式***内存泄露的方法 |
CN101339533B (zh) * | 2007-07-04 | 2012-10-10 | 国际商业机器公司 | 基于分区的诊断Java***的内存泄漏的方法及装置 |
CN101419568B (zh) * | 2007-10-26 | 2010-11-03 | 英业达股份有限公司 | 电脑可执行的翻译软件测试***及其方法 |
CN101615143B (zh) * | 2008-06-27 | 2013-04-17 | 国际商业机器公司 | 用于内存泄漏诊断的方法和装置 |
CN101414272B (zh) * | 2008-10-17 | 2011-06-08 | 上海华为技术有限公司 | 内存泄漏的检测方法和装置 |
CN101587455B (zh) * | 2008-12-11 | 2010-09-22 | 南京南瑞继保电气有限公司 | 一种用于vxWorks操作***检查内存泄漏的方法 |
CN101539976B (zh) * | 2009-04-23 | 2011-08-31 | 南京大学 | 二进制程序内存腐烂攻击的实时检测*** |
CN102043672A (zh) * | 2009-10-13 | 2011-05-04 | 中兴通讯股份有限公司 | 一种管理迭代器的方法及*** |
CN102053868B (zh) * | 2009-11-04 | 2016-08-10 | 突触计算机***(上海)有限公司 | 一种内存泄露检测方法和装置 |
CN101814049A (zh) * | 2010-03-23 | 2010-08-25 | 北京大学 | 一种内存泄漏探测方法 |
CN101819549B (zh) * | 2010-04-13 | 2012-10-10 | 东莞宇龙通信科技有限公司 | 一种内存泄露的定位方法及装置 |
CN101819549A (zh) * | 2010-04-13 | 2010-09-01 | 东莞宇龙通信科技有限公司 | 一种内存泄露的定位方法及装置 |
CN102262582A (zh) * | 2010-05-25 | 2011-11-30 | 芯讯通无线科技(上海)有限公司 | 移动终端及其内存泄露检测方法 |
CN101908018A (zh) * | 2010-07-20 | 2010-12-08 | 北京海泰方圆科技有限公司 | 一种判断内存泄露的***及方法 |
CN101908018B (zh) * | 2010-07-20 | 2012-09-26 | 北京海泰方圆科技有限公司 | 一种判断内存泄露的***及方法 |
CN103123604A (zh) * | 2011-11-18 | 2013-05-29 | 苹果公司 | 跟踪数据处理***的内存使用的方法 |
CN102681938A (zh) * | 2012-05-15 | 2012-09-19 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN102681938B (zh) * | 2012-05-15 | 2015-02-18 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN104516817A (zh) * | 2012-05-15 | 2015-04-15 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN104516817B (zh) * | 2012-05-15 | 2017-09-29 | 青岛海信移动通信技术股份有限公司 | 一种内存泄漏检测方法及装置 |
CN102904923A (zh) * | 2012-06-21 | 2013-01-30 | 华数传媒网络有限公司 | 一种缓解磁盘读取瓶颈的数据读取的方法及*** |
CN102904923B (zh) * | 2012-06-21 | 2016-01-06 | 华数传媒网络有限公司 | 一种缓解磁盘读取瓶颈的数据读取的方法及*** |
CN105008814B (zh) * | 2013-03-04 | 2017-09-29 | 三菱电机株式会社 | 空调机的管理装置和方法 |
CN105008814A (zh) * | 2013-03-04 | 2015-10-28 | 三菱电机株式会社 | 空调机的管理装置和方法 |
CN105302714B (zh) * | 2014-07-24 | 2019-02-05 | 腾讯科技(深圳)有限公司 | 一种测试过程中内存泄漏的监控方法和装置 |
CN105302714A (zh) * | 2014-07-24 | 2016-02-03 | 腾讯科技(深圳)有限公司 | 一种测试过程中内存泄漏的监控方法和装置 |
US10289472B2 (en) | 2014-08-26 | 2019-05-14 | Huawei Technologies Co., Ltd. | Resource leak detection method, apparatus, and system |
CN104731661A (zh) * | 2015-03-02 | 2015-06-24 | 大唐移动通信设备有限公司 | 一种回收泄露的程序运行资源的方法及装置 |
CN104731661B (zh) * | 2015-03-02 | 2018-12-14 | 大唐移动通信设备有限公司 | 一种回收泄露的程序运行资源的方法及装置 |
CN105260313A (zh) * | 2015-10-27 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 内存泄漏检查***及方法 |
CN105260313B (zh) * | 2015-10-27 | 2019-07-05 | 上海斐讯数据通信技术有限公司 | 内存泄漏检查***及方法 |
CN105260314A (zh) * | 2015-11-03 | 2016-01-20 | 上海斐讯数据通信技术有限公司 | 内存泄漏的监测方法 |
CN105260314B (zh) * | 2015-11-03 | 2018-06-29 | 上海斐讯数据通信技术有限公司 | 内存泄漏的监测方法 |
CN107436845A (zh) * | 2017-07-27 | 2017-12-05 | 南京华飞数据技术有限公司 | 一种动态内存监测***及其监测方法 |
CN108182146A (zh) * | 2017-12-27 | 2018-06-19 | 北京奇艺世纪科技有限公司 | 一种内存泄漏的检测方法及*** |
CN112527663A (zh) * | 2020-12-17 | 2021-03-19 | 杭州国芯科技股份有限公司 | 一种嵌入式***中软件所用内存的检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN1248114C (zh) | 2006-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1248114C (zh) | 一种软件内存泄露的检查方法 | |
US8141053B2 (en) | Call stack sampling using a virtual machine | |
US7689872B2 (en) | Autonomic program error detection and correction | |
CN100504807C (zh) | 一种通信设备***中内存泄漏的检测方法 | |
US7992136B2 (en) | Method and apparatus for automatic application profiling | |
US6182243B1 (en) | Selective data capture for software exception conditions | |
US7734666B2 (en) | Method and system for inspecting memory leaks and analyzing contents of garbage collection files | |
US9117552B2 (en) | Systems and methods for testing memory | |
US6539341B1 (en) | Method and apparatus for log information management and reporting | |
CN101414272B (zh) | 内存泄漏的检测方法和装置 | |
US20090024679A1 (en) | Apparatus, system, and method for improving system performance in a large memory heap environment | |
US6523141B1 (en) | Method and apparatus for post-mortem kernel memory leak detection | |
CN100440163C (zh) | 对计算机程序进行运行时分析的方法和*** | |
US20100031238A1 (en) | Method and Apparatus for Locating Memory Leak in a Program | |
US20080148241A1 (en) | Method and apparatus for profiling heap objects | |
CN103109276A (zh) | ***测试方法 | |
US8793289B2 (en) | Method and system for detecting memory leaks and copying garbage collection files | |
CN100388234C (zh) | 一种基于有限状态机的对内存变量改写进行监控的方法 | |
CN101853200A (zh) | 一种高效动态软件漏洞挖掘方法 | |
CN1845080A (zh) | 内存泄漏检测及防止的方法 | |
CN108733567A (zh) | 软件资源泄露情况的监测方法及*** | |
CN102053868A (zh) | 一种内存泄露检测方法和装置 | |
CN1202256A (zh) | 作为计算机单元重新启动一部分的故障数据收集 | |
US20090172368A1 (en) | Hardware Based Runtime Error Detection | |
CN100377105C (zh) | 一种告警自动测试方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20060329 Termination date: 20120620 |