CN101908018A - 一种判断内存泄露的系统及方法 - Google Patents

一种判断内存泄露的系统及方法 Download PDF

Info

Publication number
CN101908018A
CN101908018A CN 201010234483 CN201010234483A CN101908018A CN 101908018 A CN101908018 A CN 101908018A CN 201010234483 CN201010234483 CN 201010234483 CN 201010234483 A CN201010234483 A CN 201010234483A CN 101908018 A CN101908018 A CN 101908018A
Authority
CN
China
Prior art keywords
memory
function
application
internal memory
size
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
Application number
CN 201010234483
Other languages
English (en)
Other versions
CN101908018B (zh
Inventor
邱海燕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Haitai Fangyuan High Technology Co Ltd
Original Assignee
Beijing Haitai Fangyuan High Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Haitai Fangyuan High Technology Co Ltd filed Critical Beijing Haitai Fangyuan High Technology Co Ltd
Priority to CN2010102344833A priority Critical patent/CN101908018B/zh
Publication of CN101908018A publication Critical patent/CN101908018A/zh
Application granted granted Critical
Publication of CN101908018B publication Critical patent/CN101908018B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明提供了一种判断内存泄露的方法,包括步骤:针对程序中的每个函数判断函数申请内存时,累计该名称的函数申请的内存容量和申请的次数;判断函数释放内存时,将该名称的函数累计申请的内存容量减去所释放内存的容量,在所述累计申请次数中减去释放内存的次数;将不同名称的函数申请的内存容量和次数进行以内存容量为优先的递减排序;根据不同名称的函数累计申请的内存容量和次数确定内存泄露程度的等级并输出。此外,本发明还提供了一种实现上述方法的系统。以实现按照内存申请的次数对内存分配、释放信息的排序,将程序员从大量繁琐的分析工作中解放出来。

Description

一种判断内存泄露的系统及方法
技术领域
本发明涉及一种判断内存泄露的系统及方法。
背景技术
内存泄露简单的说就是申请了一块内存空间,使用完毕后没有释放掉。它的一般表现方式是程序运行时间越长,占用内存越多,最终用尽全部内存,整个系统崩溃。一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显示释放的内存。C语言的应用程序一般使用malloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,就说这块内存泄漏了。
申请号为200810084501.7的中国专利公开了一种内存泄露检测装置及方法,该发明可将内存分配和释放的信息(如内存分配的地址、大小、调用模块、文件和行数)记录到日志文件中,并根据所述信息统计出未释放内存的次数和大小,最终输出日志文件至终端,方便程序员进行程序调试。该发明目前存在的问题是,由于输出至日志文件的内存分配和释放的信息以及未释放内存的次数和大小是无序排列的,如果存在大量的上述信息,程序员则需要进行大量繁琐的分析工作。
发明内容
有鉴于此,本发明的主要目的在于提供一种判断内存泄露的系统及方法,以实现按照内存申请的次数对内存分配、释放信息的排序,将程序员从大量繁琐的分析工作中解放出来。
本发明提供的一种判断内存泄露的系统,其特征在于,包括:
初始化模块101,用于定义一种空间类型及该空间类型的空间;
管理模块102,用于判断所述程序中的函数是否申请内存;
统计模块103,用于统计所述程序中的不同函数累计申请内存的大小和次数,并在将所述累计申请内存的大小和次数记录在上述空间中后,将该程序不同函数申请内存的次数按照从多到少的顺序依次排列;
输出模块104,用于将上述不同函数累计申请内存的大小和次数输出。
上述判断内存泄露的系统,其特征在于,所述统计模块103包括一比较单元1031,用于将上述程序中的不同函数申请内存的大小和次数与预先设置的阙值相比较,划分出内存泄露程度等级;
所述阙值可以为函数申请的内存大小区间的端值。
本发明提供的一种判断内存泄露的方法,其特征在于,包括步骤:
A、针对程序中的每个函数,包括:
判断函数申请内存时,累计该名称的函数申请的内存容量和申请的次数;
判断函数释放内存时,将该名称的函数累计申请的内存容量减去所释放内存的容量,在所述累计申请次数中减去释放内存的次数;
B、将不同名称的函数申请的内存容量和次数进行以内存容量为优先的递减排序;
C、根据不同名称的函数累计申请的内存容量和次数确定内存泄露程度的等级并输出。
上述的方法,其特征在于,步骤B所述确定内存泄露程度的等级的步骤包括:
预先设置不同的内存泄露程度的等级对应函数申请的不同内存容量和次数的区间值;
根据步骤B所述函数申请的内存容量和次数对应的预先设置的区间值确定其内存泄露程度的等级。
上述的方法,其特征在于,步骤A之前还包括:
预先定义一内存空间,
步骤A所述函数申请的内存容量和申请的次数对应该函数的名称存储在所述内存空间内。
上述的方法,其特征在于,所述对应该函数的名称存储在所述内存空间内的步骤包括:
在所述内存空间中确定一空闲位置;
以所述函数名称命名该位置;
在该位置进行所述函数申请的内存容量和申请次数的存储。
上述的方法,其特征在于,步骤B所述输出为:
将不同名称的函数累计申请的内存容量和次数、内存泄露程度的等级以写入日志文件的方式输出
由上可以看出,本发明通过自动记录程序中不同函数申请内存的大小和次数,快速、高效地完成对程序中不同函数内存分配的统计,根据不同名称的函数累计申请的内存容量和次数确定内存泄露程度的等级,完成对程序中不同函数存在内存泄露风险程度的分析,并通过对不同函数申请内存的次数的排序,使输出后的判断内存是否泄露的数据不再繁杂无序,帮助程序员从大量繁琐的分析工作中解放出来。
附图说明
图1为本发明判断内存泄露的系统结构图;
图2为本发明判断内存泄露的方法流程图。
具体实施方式
下面以C语言应用程序为例,结合图1对本发明提供的一种判断内存泄露的系统进行详细说明。
如图1所示,本发明提供的一种判断内存泄露的系统主要由初始化模块101,管理模块102,统计模块103和输出模块104组成。其中:
初始化模块101用于初始定义一种空间类型,并根据上述空间类型定义一空间。根据此种空间类型定义的空间是用来记录程序中申请内存的函数名称以及该函数所申请的内存的大小和未被释放的内存申请次数。
管理模块102用于判断程序中的函数是否申请或释放内存。
统计模块103用于统计所述程序中的各个函数的内存申请信息,并将该内存申请信息记录在上述空间中。所述内存申请信息包括函数名、计算该函数申请内存的大小和次数。其中,在记录的过程中,会根据不同函数申请内存的大小按照从多到少的顺序进行动态排序。
统计模块103包括一比较单元1031,用于将统计模块103统计出的同一函数申请内存的大小和次数与预先设置的阙值相比较,划分出内存泄露程度等级。所述阙值可以为函数申请的内存大小和次数区间的端值。关于内存泄露程度等级的划分将在下文详细介绍。
针对同一函数名,统计模块103在记录该函数申请内存的大小时,将该函数申请到的内存大小进行累加,将该函数释放的内存从其申请到的内存大小中减去。
统计模块103在计算函数的内存申请次数时,函数每申请一次内存,将其申请内存的次数加1,函数每释放一次内存,将其申请内存的次数减1。
输出模块104用于从上述空间中读取上述内存申请信息并输出到终端。在本实施例中,可以通过日志组件将上述内存申请信息保存至日志文件后输出给终端(例如电脑显示器、打印机等输出设备),以供程序开发人员使用。
下面结合图2对本发明提供的一种判断内存泄露的方法进行详细说明。
步骤101:初始定义一用来记录程序中函数累计申请内存大小的空间类型。
在本实施例中,可采用如下列代码定义上述类型:
typedef MEMORY_MON    //类型名称
{
  UINT 32size;       //用于记录程序中的函数累计申
                      请的内存大小
char*function_name;  //用于记录程序中申请内存的函
                      数名称
}
步骤102:定义一个上述类型的空间,即MEMORY_MON类型的数组。
在本实施例中,可采用如下列代码定义上述数组:
MEMORY_MON monitor_array[50]; //MEMORY_MON
                                monitor_array[]数组具有
                                size和function_name这
                                两个属性。
其中,可以根据程序中函数的数量来定义monitor_array[]数组中的元素数量。本实施例中的monitor_array[]数组元素数量为51,即其数组索引值为0~50。
步骤103:判断程序中的函数是否申请内存:若是,则进入步骤104;否则,结束对该函数是否造成内存泄露的判断。
在本实施例中,以程序中的函数是否调用OS_Malloc()函数(OS_Malloc()函数从操作系统中分配指定大小的内存块)来申请内存作为判断程序中的函数是否申请内存的依据,如下列代码所示为调用OS_Malloc()函数的某函数:
#define OS_Malloc(size)     //定义OS_Malloc()函数
void test_1()               //测试函数1
{
   p1=OS_Malloc()(50);//调用函数os_malloc()申请一块大小
                        为50的内存
  ......
}
步骤104:记录程序中函数申请的内存大小。
通过调用OS_Malloc()申请内存的函数,其申请内存的大小会被累加记录于上述monitor_array[]数组中的某一元素下,例如,首先在monitor_array[]数组中找到一空闲位置,然后以程序中某一调用OS_Malloc()申请内存的函数名命名该位置,并将其申请的内存大小记录在该位置。如果该函数不断申请内存,则将其申请的内存大小累加记录在所述位置。
在本实施例中,可采用如下列代码在累加记录程序中函数申请的内存后,为该函数分配内存:
#define OS_Malloc_Ex(size,_FUNCTION_)
void*OS_Malloc_Ex(int size,char*pFunction)
{
  int index;
  index=find_empty_monitor_array(); //查找monitor_array[]中
                                      的空闲位置
  monitor_array[index].size+=size;  //将例如函数test_1()申
                                      请的内存累加记录于
                                      monitor_array[index]
  monitor_array[index].function_name=pFunction;//将例如
                                      函数test_1()的名称记录
                                      于monitor_array[index]
  ......
  return malloc(size);               //分配内存
}
如果该函数通过调用OS_Free()释放了内存,则从上述位置中将释放掉的内存减去。在本实施例中,可采用如下列代码减去记录程序中函数释放掉的内存:
void test_1()
{
   p1=os_malloc(50);
   ......
   os_free(p1);
}
void OS_Free(void*p)
{
   int index;
   index=find_monitor_array();     //查找指针p在
                                     monitor_array[]中的位
                                     置;
   monitor_array[index].size-=size;//将例如函数test_1()请
                                     求释放的内存从
                                     monitor_array[index]位置
                                     中减去
   ......
   free(p);//释放内存
 }
 如果某一函数申请到内存后并没有通过调用OS_Free()来释放内存,如下列代码所示:
void test_2()
{
  p2=os_malloc(50);
  ......
  //os_free(p2);                    //没有释放内存
}则不会将例如函数test_2()申请到的内存从monitor_array[index]位置中减去。
采用上述步骤103~104,即可针对程序中的不同函数申请内存的大小和次数进行统计。
步骤105:将程序中不同函数申请内存的大小按从多到少的顺序排列。
上述函数每调用一次OS_Malloc(),其申请内存的大小就会增加一些;每调用一次OS_Free(),其申请内存的大小就会减少一些。如果一个函数不断地申请内存,它的申请内存的大小的排名就会不断往前;相反地,如果其不断地释放内存,则它的申请内存大小的排名就会不断往后。
对函数申请内存大小的排序是在累加/减去申请内存之后进行,因此sort_monitor_array()在代码中的位置如下代码所示位于“monitor_array[index].size+=size;”、“monitor_array[index].size-=size;”之后。本实施例采用公知的冒泡排序法定义一排序函数sort_monitor_array(),对函数申请内存的大小进行排列,如下列代码所示:
void*OS_Malloc_Ex(int size,char*pFunction)
{
   int index;
   index=find_empty_monitor_array();
    monitor_array[index].size+=size;
    monitor_array[index].function_name=pFunction;
    sort_monitor_array(index);         //对申请的内存的大小进
                                       行排序
    return malloc(size);
}
void OS_Free(void*p)
{
   int index;
   index=find_monitor_array();
   monitor_array[index].size-=size;
   sort_monitor_array(index);         //对申请的内存的大小进
                                       行排序
   free(p);
}
sort_monitor_array(int index)
{
     int i,j;
     MEMORY_MON monitor_temp[0];      //定义一个上述类型
                                       的临时空间(临时数
                                       组)
     for(i=0;i<index -j;i++)
     {
       for(j=0;j<=index;j++)
               if(monitor_array[i].size>monitor_array[i+1].size)
               //比较数组monitor_array[]中记录的不同函数申请
              的内存大小
                {
                    monitor_temp[0]=monitor_array[i];
                    monitor_array[i]=monitor_array[i+1];
                    monitor_array[i+1]=monitor_temp[0];}
                    //将数组monitor_array[]中记录的申请的内
                    存较大的函数向前排,申请的内存较小的函
                    数向后排。
                }
}
}
步骤106~107:将程序中不同函数申请的内存大小和次数与预先设置的阙值相比较,划分出所述函数的内存泄露程度等级,并将上述函数申请内存的大小、申请内存次数的排序(例如可以分别排序,或者申请内存大小优先、申请内存次数次之的方式排序)以及内存泄露程度等级输出给终端。
在本实施例中,可根据不同程序的内存占用情况,预先将其不同函数申请的内存大小和次数设置为几个区间,每个区间的端值即为所述阙值,例如,将某一函数申请的内存大小设置为低(0~10),中(10~30),高(30~50)三个区间,将函数申请的内存次数设置为低(0~20),中(20~40),高(40~60),若某一函数申请的内存处于区间10~30之间(中),其申请内存的次数处于区间0~20之间(低),则可将其内存泄漏等级标记为中偏下(中低),同理,可将函数内存泄漏等级标记为极低(低低,不能发生内存泄露),低(低中/中低,基本不能发生内存泄露),低偏中(低高/高低,30%可能会发生内存泄露),中(中中,50%可能会发生内存泄露),中偏高(中高/高中,70%可能会发生内存泄露),高(高高,90%可能会发生内存泄露),极高(均超出高区间的右端值,发生内存泄露)。
最后,将标记有内存泄漏等级标记的内存申请信息输出至终端。在本实施例中,可将所述内存申请信息按表1格式写入一日志文件后输出给终端(如电脑显示器、打印机等)。
表1
Figure BSA00000203768300101
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (7)

1.一种判断内存泄露的系统,其特征在于,包括:
初始化模块(101),用于定义一种空间类型及该空间类型的空间;
管理模块(102),用于判断所述程序中的函数是否申请内存;
统计模块(103),用于统计所述程序中的不同函数累计申请内存的大小和次数,并在将所述累计申请内存的大小和次数记录在上述空间中后,将该程序不同函数申请内存的大小按照从多到少的顺序依次排列;
输出模块(104),用于将上述不同函数累计申请内存的大小和次数输出。
2.根据权利要求1所述的判断内存泄露的系统,其特征在于,所述统计模块(103)包括一比较单元(1031),用于将上述程序中的不同函数申请内存的大小和次数与预先设置的阙值相比较,划分出内存泄露程度等级;
所述阙值可以为函数申请的内存大小区间的端值。
3.一种判断内存泄露的方法,其特征在于,包括步骤:
A、针对程序中的每个函数,包括:
判断函数申请内存时,累计该名称的函数申请的内存容量和申请的次数;
判断函数释放内存时,将该名称的函数累计申请的内存容量减去所释放内存的容量,在所述累计申请次数中减去释放内存的次数;
B、将不同名称的函数申请的内存容量和次数进行以内存容量为优先的递减排序;
C、根据不同名称的函数累计申请的内存容量和次数确定内存泄露程度的等级并输出。
4.根据权利要求3所述的方法,其特征在于,步骤B所述确定内存泄露程度的等级的步骤包括:
预先设置不同的内存泄露程度的等级对应函数申请的不同内存容量和次数的区间值;
根据步骤B所述函数申请的内存容量和次数对应的预先设置的区间值确定其内存泄露程度的等级。
5.根据权利要求3所述的方法,其特征在于,步骤A之前还包括:
预先定义一内存空间,
步骤A所述函数申请的内存容量和申请的次数对应该函数的名称存储在所述内存空间内。
6.根据权利要求5所述的方法,其特征在于,所述对应该函数的名称存储在所述内存空间内的步骤包括:
在所述内存空间中确定一空闲位置;
以所述函数名称命名该位置;
在该位置进行所述函数申请的内存容量和申请次数的存储。
7.根据权利要求3所述的方法,其特征在于,步骤B所述输出为:
将不同名称的函数累计申请的内存容量和次数、内存泄露程度的等级以写入日志文件的方式输出。
CN2010102344833A 2010-07-20 2010-07-20 一种判断内存泄露的系统及方法 Active CN101908018B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2010102344833A CN101908018B (zh) 2010-07-20 2010-07-20 一种判断内存泄露的系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2010102344833A CN101908018B (zh) 2010-07-20 2010-07-20 一种判断内存泄露的系统及方法

Publications (2)

Publication Number Publication Date
CN101908018A true CN101908018A (zh) 2010-12-08
CN101908018B CN101908018B (zh) 2012-09-26

Family

ID=43263482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2010102344833A Active CN101908018B (zh) 2010-07-20 2010-07-20 一种判断内存泄露的系统及方法

Country Status (1)

Country Link
CN (1) CN101908018B (zh)

Cited By (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681938A (zh) * 2012-05-15 2012-09-19 青岛海信移动通信技术股份有限公司 一种内存泄漏检测方法及装置
CN103473172A (zh) * 2013-09-05 2013-12-25 无敌科技(西安)有限公司 检查后台程序内存泄露并定位泄露内存点的系统及方法
WO2014101485A1 (zh) * 2012-12-31 2014-07-03 华为技术有限公司 一种内存监控方法及相关装置
CN103914376A (zh) * 2014-03-12 2014-07-09 汉柏科技有限公司 一种内存泄露的快速定位方法
CN103927305A (zh) * 2013-01-11 2014-07-16 中国移动通信集团山东有限公司 一种对内存溢出进行控制的方法和设备
CN104516817A (zh) * 2012-05-15 2015-04-15 青岛海信移动通信技术股份有限公司 一种内存泄漏检测方法及装置
WO2016029723A1 (zh) * 2014-08-26 2016-03-03 华为技术有限公司 一种资源泄漏检测方法、装置及系统
CN106294059A (zh) * 2015-06-26 2017-01-04 中兴通讯股份有限公司 网管系统中进程的恢复方法及装置
CN106407031A (zh) * 2016-09-14 2017-02-15 华为数字技术(成都)有限公司 一种内存泄露定位方法及电子设备
CN107102922A (zh) * 2017-04-01 2017-08-29 北京三快在线科技有限公司 内存检测方法、装置及电子设备
CN107360317A (zh) * 2017-06-29 2017-11-17 努比亚技术有限公司 应用程序资源泄露的检测方法及移动终端、存储介质
CN108108258A (zh) * 2017-12-29 2018-06-01 杭州迪普科技股份有限公司 一种内存泄露的修复方法和装置
CN108334435A (zh) * 2018-01-18 2018-07-27 杭州迪普科技股份有限公司 一种共享内存泄漏的提醒方法及装置
CN108984295A (zh) * 2018-06-19 2018-12-11 珠海全志科技股份有限公司 内存回收方法、计算机装置及计算机可读存储介质
WO2019019713A1 (zh) * 2017-07-24 2019-01-31 平安科技(深圳)有限公司 检测应用程序内存泄露的方法、终端及可读存储介质
CN109933525A (zh) * 2019-02-22 2019-06-25 深圳市吉祥腾达科技有限公司 一种通用的内存泄露检测方法
CN110858178A (zh) * 2018-08-07 2020-03-03 广州小鹏汽车科技有限公司 一种内存回收方法、装置、设备及介质
CN111813666A (zh) * 2020-06-30 2020-10-23 北京字节跳动网络技术有限公司 一种内存泄露定位的方法、装置、介质和电子设备
CN111858112A (zh) * 2019-04-26 2020-10-30 腾讯科技(深圳)有限公司 一种检测内存泄露的方法、客户端及服务器
CN111984496A (zh) * 2020-07-16 2020-11-24 北京字节跳动网络技术有限公司 一种监控栈内存泄露的方法、装置、介质和电子设备
CN112100017A (zh) * 2019-06-17 2020-12-18 腾讯科技(深圳)有限公司 一种内存资源监控方法及装置
CN112162893A (zh) * 2020-10-30 2021-01-01 新华三大数据技术有限公司 一种内存泄漏定位方法、装置及电子设备
CN112817838A (zh) * 2019-11-18 2021-05-18 迈普通信技术股份有限公司 内存泄漏信息处理方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466057A (zh) * 2002-06-20 2004-01-07 华为技术有限公司 一种软件内存泄露的检查方法
US20080016228A1 (en) * 2006-07-14 2008-01-17 Samsung Electronics Co., Ltd. Method and apparatus for preventing data leakage in portable terminal
CN101587455A (zh) * 2008-12-11 2009-11-25 南京南瑞继保电气有限公司 一种用于vxWorks操作系统检查内存泄漏的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466057A (zh) * 2002-06-20 2004-01-07 华为技术有限公司 一种软件内存泄露的检查方法
US20080016228A1 (en) * 2006-07-14 2008-01-17 Samsung Electronics Co., Ltd. Method and apparatus for preventing data leakage in portable terminal
CN101587455A (zh) * 2008-12-11 2009-11-25 南京南瑞继保电气有限公司 一种用于vxWorks操作系统检查内存泄漏的方法

Cited By (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102681938A (zh) * 2012-05-15 2012-09-19 青岛海信移动通信技术股份有限公司 一种内存泄漏检测方法及装置
CN104516817A (zh) * 2012-05-15 2015-04-15 青岛海信移动通信技术股份有限公司 一种内存泄漏检测方法及装置
CN104516817B (zh) * 2012-05-15 2017-09-29 青岛海信移动通信技术股份有限公司 一种内存泄漏检测方法及装置
CN102681938B (zh) * 2012-05-15 2015-02-18 青岛海信移动通信技术股份有限公司 一种内存泄漏检测方法及装置
WO2014101485A1 (zh) * 2012-12-31 2014-07-03 华为技术有限公司 一种内存监控方法及相关装置
US9846626B2 (en) 2012-12-31 2017-12-19 Huawei Technologies Co., Ltd. Method and apparatus for computer memory management by monitoring frequency of process access
CN103927305A (zh) * 2013-01-11 2014-07-16 中国移动通信集团山东有限公司 一种对内存溢出进行控制的方法和设备
CN103927305B (zh) * 2013-01-11 2018-02-23 中国移动通信集团山东有限公司 一种对内存溢出进行控制的方法和设备
CN103473172A (zh) * 2013-09-05 2013-12-25 无敌科技(西安)有限公司 检查后台程序内存泄露并定位泄露内存点的系统及方法
CN103914376A (zh) * 2014-03-12 2014-07-09 汉柏科技有限公司 一种内存泄露的快速定位方法
US10289472B2 (en) 2014-08-26 2019-05-14 Huawei Technologies Co., Ltd. Resource leak detection method, apparatus, and system
WO2016029723A1 (zh) * 2014-08-26 2016-03-03 华为技术有限公司 一种资源泄漏检测方法、装置及系统
CN105446871A (zh) * 2014-08-26 2016-03-30 华为技术有限公司 一种资源泄漏检测方法、装置及系统
CN105446871B (zh) * 2014-08-26 2018-08-17 华为技术有限公司 一种资源泄漏检测方法、装置及系统
CN106294059A (zh) * 2015-06-26 2017-01-04 中兴通讯股份有限公司 网管系统中进程的恢复方法及装置
CN106407031A (zh) * 2016-09-14 2017-02-15 华为数字技术(成都)有限公司 一种内存泄露定位方法及电子设备
CN106407031B (zh) * 2016-09-14 2019-05-28 华为数字技术(成都)有限公司 一种内存泄露定位方法及电子设备
CN107102922A (zh) * 2017-04-01 2017-08-29 北京三快在线科技有限公司 内存检测方法、装置及电子设备
CN107360317A (zh) * 2017-06-29 2017-11-17 努比亚技术有限公司 应用程序资源泄露的检测方法及移动终端、存储介质
WO2019019713A1 (zh) * 2017-07-24 2019-01-31 平安科技(深圳)有限公司 检测应用程序内存泄露的方法、终端及可读存储介质
CN108108258A (zh) * 2017-12-29 2018-06-01 杭州迪普科技股份有限公司 一种内存泄露的修复方法和装置
CN108108258B (zh) * 2017-12-29 2020-11-06 杭州迪普科技股份有限公司 一种内存泄露的修复方法和装置
CN108334435A (zh) * 2018-01-18 2018-07-27 杭州迪普科技股份有限公司 一种共享内存泄漏的提醒方法及装置
CN108984295B (zh) * 2018-06-19 2020-08-07 珠海全志科技股份有限公司 内存回收方法、计算机装置及计算机可读存储介质
CN108984295A (zh) * 2018-06-19 2018-12-11 珠海全志科技股份有限公司 内存回收方法、计算机装置及计算机可读存储介质
CN110858178A (zh) * 2018-08-07 2020-03-03 广州小鹏汽车科技有限公司 一种内存回收方法、装置、设备及介质
CN109933525A (zh) * 2019-02-22 2019-06-25 深圳市吉祥腾达科技有限公司 一种通用的内存泄露检测方法
CN111858112B (zh) * 2019-04-26 2023-04-25 腾讯科技(深圳)有限公司 一种检测内存泄露的方法、客户端及服务器
CN111858112A (zh) * 2019-04-26 2020-10-30 腾讯科技(深圳)有限公司 一种检测内存泄露的方法、客户端及服务器
CN112100017A (zh) * 2019-06-17 2020-12-18 腾讯科技(深圳)有限公司 一种内存资源监控方法及装置
CN112100017B (zh) * 2019-06-17 2023-07-21 腾讯科技(深圳)有限公司 一种内存资源监控方法及装置
CN112817838A (zh) * 2019-11-18 2021-05-18 迈普通信技术股份有限公司 内存泄漏信息处理方法、装置、电子设备及存储介质
CN111813666A (zh) * 2020-06-30 2020-10-23 北京字节跳动网络技术有限公司 一种内存泄露定位的方法、装置、介质和电子设备
CN111813666B (zh) * 2020-06-30 2023-10-27 北京字节跳动网络技术有限公司 一种内存泄露定位的方法、装置、介质和电子设备
CN111984496A (zh) * 2020-07-16 2020-11-24 北京字节跳动网络技术有限公司 一种监控栈内存泄露的方法、装置、介质和电子设备
CN111984496B (zh) * 2020-07-16 2024-04-16 北京字节跳动网络技术有限公司 一种监控栈内存泄露的方法、装置、介质和电子设备
CN112162893A (zh) * 2020-10-30 2021-01-01 新华三大数据技术有限公司 一种内存泄漏定位方法、装置及电子设备

Also Published As

Publication number Publication date
CN101908018B (zh) 2012-09-26

Similar Documents

Publication Publication Date Title
CN101908018B (zh) 一种判断内存泄露的系统及方法
CN101599046B (zh) 一种内存检测方法及装置
US9529692B2 (en) Memory management tools
CN100465920C (zh) 多节点计算机中存储器分配的方法和装置
CN100538661C (zh) 多节点计算机中存储器分配的方法和装置
CN102831068B (zh) 一种内存操作记录的处理方法及装置
CN109656779A (zh) 内存监控方法、装置、终端和存储介质
CN100440221C (zh) 管理文件系统的设备和方法
CN102760080A (zh) 一种内存管理的方法和装置
CN104423887B (zh) 移动设备内存管理方法及系统
CN102722516A (zh) 一种针对NAND Flash烧录文件的生成方法及相应的装置
US10241895B2 (en) Memory stack trace management tool
CN100392606C (zh) 一种定位虚拟操作系统内存泄漏的方法
CN102053868A (zh) 一种内存泄露检测方法和装置
CN105302679B (zh) 一种智能终端存储稳定性的检测方法及系统
CN110990207A (zh) 基于Whitley平台的BPS内存测试方法、系统、终端及存储介质
CN108121666B (zh) 一种闪存的垃圾回收方法及装置
CN114003293B (zh) 接口管理方法、装置、电子设备以及可读存储介质
CN110209357A (zh) 提高ssd大文件写性能的方法、装置、计算机设备及存储介质
CN110084476A (zh) 案件调整方法、装置、计算机设备和存储介质
CN205541960U (zh) 一种与非型闪存中坏列的处理装置及与非型闪存
US11163470B2 (en) Method, electronic device and computer program product for managing redundant arrays of independent disks
CN108021482A (zh) 一种Boot Loader下检测内存的方法及装置
CN106648751B (zh) 一种嵌入式软件快速升级的方法及嵌入式设备
CN103365931B (zh) 性能分析工具中快速定位函数性能记录的方法及装置

Legal Events

Date Code Title Description
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
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: System and method for judging memory leak

Effective date of registration: 20131203

Granted publication date: 20120926

Pledgee: Bank of China Limited by Share Ltd Beijing Century Fortune Central Branch

Pledgor: Beijing Haitai Fangyuan High Technology Co., Ltd.

Registration number: 2013990000923

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20150127

Granted publication date: 20120926

Pledgee: Bank of China Limited by Share Ltd Beijing Century Fortune Central Branch

Pledgor: Beijing Haitai Fangyuan High Technology Co., Ltd.

Registration number: 2013990000923

PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: System and method for judging memory leak

Effective date of registration: 20150128

Granted publication date: 20120926

Pledgee: Bank of China Limited by Share Ltd Beijing Century Fortune Central Branch

Pledgor: Beijing Haitai Fangyuan High Technology Co., Ltd.

Registration number: 2015990000074

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model
C56 Change in the name or address of the patentee
CP03 Change of name, title or address

Address after: 100094, Beijing, Haidian District, West Road, No. 8, Zhongguancun Software Park, building 9, international software building E, one floor, two layers

Patentee after: BEIJING HAITAI FANGYUAN HIGH TECHNOLOGY CO., LTD.

Address before: 100085, Beijing, Haidian District on the road No. 22, science and technology complex on the eastern 4 floor

Patentee before: Beijing Haitai Fangyuan High Technology Co., Ltd.

PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20160512

Granted publication date: 20120926

Pledgee: Bank of China Limited by Share Ltd Beijing Century Fortune Central Branch

Pledgor: Beijing Haitai Fangyuan High Technology Co., Ltd.

Registration number: 2015990000074

PLDC Enforcement, change and cancellation of contracts on pledge of patent right or utility model