CN105260313B - 内存泄漏检查系统及方法 - Google Patents

内存泄漏检查系统及方法 Download PDF

Info

Publication number
CN105260313B
CN105260313B CN201510704993.5A CN201510704993A CN105260313B CN 105260313 B CN105260313 B CN 105260313B CN 201510704993 A CN201510704993 A CN 201510704993A CN 105260313 B CN105260313 B CN 105260313B
Authority
CN
China
Prior art keywords
memory
data
memory block
function
record
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.)
Active
Application number
CN201510704993.5A
Other languages
English (en)
Other versions
CN105260313A (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.)
HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.
Original Assignee
Shanghai Feixun Data Communication 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 Shanghai Feixun Data Communication Technology Co Ltd filed Critical Shanghai Feixun Data Communication Technology Co Ltd
Priority to CN201510704993.5A priority Critical patent/CN105260313B/zh
Publication of CN105260313A publication Critical patent/CN105260313A/zh
Application granted granted Critical
Publication of CN105260313B publication Critical patent/CN105260313B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种内存泄漏检查系统及方法,包括内存数据采集模块、数据传输模块、内存泄漏分析模块和显示模块;所述内存数据采集模块采集的数据通过所述数据传输模块传送至所述内存泄漏分析模块;所述内存数据采集模块采集的数据包括内存分配数据和内存释放数据;所述内存泄漏分析模块适于根据所述内存数据采集模块采集的数据检查内存块是否发生泄漏,内存泄漏的检查结果传送至所述显示模块进行显示。本发明的内存泄漏分析模块运行于PC机上,占有目标产品的内存少;泄漏检查方法能在客户现场使用,简单、直观、高效。

Description

内存泄漏检查系统及方法
技术领域
本发明涉及计算机技术领域,尤其涉及一种内存泄漏检查系统及方法。
背景技术
目前,内存泄漏是软件诸多缺陷中比较难以发现的错误,内存泄漏的危害很大,可能导致系统内存不断减少,最终导致系统运行不稳定,甚至崩溃、重启。导致软件内存泄漏的原因很多,有可能是软件开发者的失误,也可能是软件运行环境(操作系统、第三方库)存在问题,因此检查软件内存泄漏是一个重要而又复杂的过程,完全依靠开发者分析软件源代码的方法来消除内存泄漏是一个费力不讨好的苦差事,尤其是处理一些需要运行很长时间才出现的问题。检查内存泄漏需要借助一些工具,常见的一些专用工具存在许多不足,主要有:1、只能在软件产品开发测试阶段使用,不能在客户使用软件产品的现场使用;2、使用比较麻烦,不够直观和方便;3、现在大多内存泄漏检查工具完全运行在目标产品上,如果需要长期记录内存分配和释放过程,可能消耗过多目标产品上的内存空间。
发明内容
本发明的目的是为解决目前检测软件产品内存泄漏的方案不能在客户现场使用,使用不方便,耗费目标产品过多内存空间的技术问题。
为了解决上述技术问题,一方面,本发明提供一种内存泄漏检查系统,包括内存数据采集模块、数据传输模块、内存泄漏分析模块和显示模块;所述内存数据采集模块采集的数据通过所述数据传输模块传送至所述内存泄漏分析模块;所述内存数据采集模块采集的数据包括内存分配数据和内存释放数据;
所述内存泄漏分析模块适于预设内存块最大占用时间MAX_TIME,并适于根据所述内存数据采集模块采集的数据检查内存块是否发生泄漏,若同一地址的内存分配数据对应有内存释放数据,则所述地址的内存块未发生泄漏;若同一地址的内存分配数据无对应的内存释放数据,当所述地址的内存块占用时间小于所述最大占用时间MAX_TIME时,则所述地址的内存块未发生泄漏,当所述地址的内存块占用时间大于所述最大占用时间MAX_TIME时,则所述地址的内存块发生泄漏;
内存泄漏的检查结果传送至所述显示模块进行显示。
进一步地,所述内存数据采集模块包括内存分配数据采集单元,所述内存分配数据采集单元用于,在向目标应用程序分配内存前,记录所述目标应用程序所申请内存的内存块起始地址、内存块大小、内存块分配时间及调用内存分配函数的调用函数在所述目标应用程序中的位置。
进一步地,所述内存数据采集模块包括内存释放数据采集单元,所述内存释放数据采集单元用于,在目标应用程序释放内存前,记录所述目标应用程序将要释放内存的内存块起始地址、内存块大小、内存块释放时间及调用内存释放函数的调用函数在所述目标应用程序中的位置。
进一步地,所述数据传输模块包括缓存,所述内存数据采集模块采集的内存分配数据和内存释放数据均存储在所述缓存中。
进一步地,所述内存泄漏分析模块包括哈希分配表,所述哈希分配表用于记录所述内存分配数据。
进一步地,所述内存泄漏分析模块包括哈希释放表,所述哈希释放表用于记录所述内存释放数据。
另一方面,本发明提供一种内存泄漏检查方法,包括如下步骤:
(1)在目标应用程序申请分配内存前,内存数据采集模块采集内存分配数据;在目标应用程序释放内存前,内存数据采集模块采集内存释放数据;
(2)将所述内存数据采集模块采集的数据传送至内存泄漏分析模块,所述数据以记录R的形式保存至所述内存泄漏分析模块的哈希表中;
(3)判断记录R的类型,若R的记录类型为“1”,则继续到下一步;若R的记录类型为“2”,则转至步骤(5);
(4)以R的start为关键字将内存分配数据以记录R1保存至哈希表T1;转至步骤(6);
(5)以R的start为关键字将内存释放数据以记录R2保存至哈希表T2;
(6)所述内存泄漏分析模块设置内存块最大占用时间MAX_TIME;
(7)从哈希表T1中获取内存分配记录R1;
(8)以R1的start为关键字从哈希表T2中获取内存释放记录R2;
(9)判断R2是否为有效记录,若R2为有效记录,则继续到下一步;若R2为无效记录,则转至步骤(11);
(10)R1记录的内存块未发生内存泄漏,删除T1中的R1和T2中的R2;
(11)判断R1记录的内存块的分配时间是否大于MAX_TIME,若R1记录的内存块的分配时间大于MAX_TIME,则继续到下一步;若R1记录的内存块的分配时间小于MAX_TIME,则转至步骤(10);
(12)R1记录的内存块发生内存泄漏,实时显示该内存泄漏结果。
进一步地,所述内存泄漏分析模块设置的内存块最大占用时间MAX_TIME≥5分钟。
进一步地,所述记录R1中的数据包括目标应用程序所申请内存的内存块起始地址、内存块大小、内存块分配时间及调用内存分配函数的调用函数在所述目标应用程序中的位置。
进一步地,所述调用内存分配函数的调用函数在所述目标应用程序中的位置数据包括所述调用函数所在的文件、调用函数的名字和调用函数所在的行号。
进一步地,所述记录R2中的数据包括目标应用程序将要释放内存的内存块起始地址、内存块大小、内存块释放时间及调用内存释放函数的调用函数在所述目标应用程序中的位置。
进一步地,所述调用内存释放函数的调用函数在所述目标应用程序中的位置数据包括所述调用函数所在的文件、调用函数的名字和调用函数所在的行号。
本发明的内存泄漏分析模块运行于PC机上,目标产品上存在一个内存数据采集模块,应用程序所有的内存块分配和释放不是直接使用标准的malloc和free函数,而是通过一个自定义的内存数据采集模块提供的函数分配或者释放内存块。自定义的分配和释放函数在使用标准的malloc和free分配和释放内存块前,会记录应用程序申请或者释放内存块的信息,这些信息主要包括内存块的起始地址、内存块的大小、内存块的分配时间或者释放时间,同时,为了方便内存泄漏的定位,还记录一些辅助信息,例如分配或者释放函数调用在应用程序源代码中的位置(调用函数所在的文件、调用函数的名字、调用函数所在的行号),占有目标产品的内存少;根据同一内存地址,如果分配和释放的次数相同,则无内存泄漏;否则,进一步判断内存占有时间,如小于阈值时间,则无泄漏,否则发生泄漏,并能实时显示检查结果,这一泄漏检查方法能在客户现场使用,简单、直观、高效。
附图说明
图1为本发明所述系统一个实施例的原理框图;
图2为本发明所述方法一个实施例的流程图。
图中,内存数据采集模块10;内存分配数据采集单元101;内存释放数据采集单元102;数据传输模块20;缓存201;内存泄漏分析模块30;显示模块40。
具体实施方式
现在结合附图和实施例对本发明作进一步详细的说明。这些附图均为简化的示意图,仅以示意方式说明本发明的基本结构,因此其仅显示与本发明有关的构成,且其不应理解为对本发明的限制。
如图1所示的实施例,本发明的内存泄漏检查系统,包括内存数据采集模块10、数据传输模块20、内存泄漏分析模块30和显示模块40;所述内存数据采集模块10包括内存分配数据采集单元101和内存释放数据采集单元102,数据传输模块20包括缓存201,其中内存分配数据采集单元101用于,在向目标应用程序分配内存前,记录所述目标应用程序所申请内存的内存块起始地址、内存块大小、内存块分配时间及调用内存分配函数的调用函数在所述目标应用程序中的位置,内存释放数据采集单元102用于,在目标应用程序释放内存前,记录所述目标应用程序将要释放内存的内存块起始地址、内存块大小、内存块释放时间及调用内存释放函数的调用函数在所述目标应用程序中的位置,内存分配数据采集单元101和内存释放数据采集单元102采集的数据存入数据传输模块20的缓存201,只要缓存201中存在数据,数据传输模块20就会不停地将此数据传递到内存泄漏分析模块30。
所述内存泄漏分析模块30运行于PC机上,包括hash分配表T1和hash释放表T2,内存分配数据采集单元101采集的内存分配数据以记录R1形式存放于T1中,内存释放数据采集单元102采集的内存释放数据以记录R2形式存放于T2中,内存泄漏分析模块30可预设内存块最大占用时间MAX_TIME,优选地,MAX_TIME≥5分钟,内存泄漏分析模块30根据所述内存数据采集模块10采集的数据检查内存块是否发生泄漏,若同一地址的内存分配数据对应有内存释放数据,则所述地址的内存块未发生泄漏;若同一地址的内存分配数据无对应的内存释放数据,当所述地址的内存块占用时间小于所述最大占用时间MAX_TIME时,则所述地址的内存块未发生泄漏,当所述地址的内存块占用时间大于所述最大占用时间MAX_TIME时,则所述地址的内存块发生泄漏;内存泄漏的检查结果传送至所述显示模块40进行显示。
如图2所示的实施例,本发明的内存泄漏检查方法,包括如下步骤:
S100、在目标应用程序申请分配内存前,内存数据采集模块采集内存分配数据;在目标应用程序释放内存前,内存数据采集模块采集内存释放数据;
S110、将所述内存数据采集模块采集的数据传送至内存泄漏分析模块,所述数据以记录R的形式保存至所述内存泄漏分析模块的hash表中;
S120、判断记录R的类型,若R的记录类型为“1”,则继续到下一步;若R的记录类型为“2”,则转至步骤S126;
S125、以R的start为关键字将内存分配数据以记录R1保存至hash分配表T1;记录R1中的数据包括目标应用程序所申请内存的内存块起始地址、内存块大小、内存块分配时间及调用内存分配函数的调用函数在所述目标应用程序中的位置;调用内存分配函数的调用函数在所述目标应用程序中的位置数据包括所述调用函数所在的文件、调用函数的名字和调用函数所在的行号;转至步骤S130;
S126、以R的start为关键字将内存释放数据以记录R2保存至hash释放表T2;记录R2中的数据包括目标应用程序将要释放内存的内存块起始地址、内存块大小、内存块释放时间及调用内存释放函数的调用函数在所述目标应用程序中的位置;调用内存释放函数的调用函数在所述目标应用程序中的位置数据包括所述调用函数所在的文件、调用函数的名字和调用函数所在的行号;
S130、内存泄漏分析模块设置内存块最大占用时间MAX_TIME;
S140、从hash分配表T1中获取内存分配记录R1;
S150、以R1的start为关键字从hash释放表T2中获取内存释放记录R2;
S160、判断R2是否为有效记录,若R2为有效记录,则继续到下一步;若R2为无效记录,则转至步骤S166;
S165、R1记录的内存块未发生内存泄漏,删除T1中的R1和T2中的R2;
S166、判断R1记录的内存块的分配时间是否大于MAX_TIME,若R1记录的内存块的分配时间大于MAX_TIME,则继续到下一步;若R1记录的内存块的分配时间小于MAX_TIME,则转至步骤S165;
S170、R1记录的内存块发生内存泄漏,实时显示该内存泄漏结果。
优选地,MAX_TIME≥5分钟。
目标产品上存在一个内存数据采集模块,应用程序所有的内存块分配和释放不是直接使用标准的malloc和free函数,而是通过一个此自定义的模块提供的函数分配或者释放内存块。自定义的分配和释放函数其实最终也是使用标准的malloc和free函数进行内存块的分配和释放,但使用标准的malloc和free函数前,会记录应用程序申请或者释放内存块的信息,这些信息主要包括内存块的起始地址、内存块的大小、内存块的分配时间或者释放时间,同时,为了方便内存泄漏的定位,还需要记录一些辅助信息,例如分配或者释放函数调用在应用程序源代码中的位置(函数所在的文件、调用函数的名字、调用函数所在的行号)。
目标应用程序原来通过库函数提供内存分配和释放接口进行内存块的管理,
void*malloc(unsigned int num_bytes);
void free(char*file,char*name,int line,void*ptr)
目标应用程序现在通过内存管理数据采集模块提供的内存分配和释放接口进行内存块的管理:
void*memchk_malloc(char*file,char*name,int line,unsigned int num_bytes);
void memchk_free(void*ptr)
在目标应用程序内存块申请的时候使用内存管理数据采集模块提供的接口进行,示意代码如下:
void*tmp=memchk_malloc(__FILE__,__FUNCTION__,__LINE__,20)
memchk_free(__FUNCTION__,__LINE__,tmp)
内存管理数据采集模块提供的内存分配和释放接口记录结构如下:
typedef struct{
int record_type;
void*start;
int len;
time_t time;
char file[30];
char function[30];
int line;
}memchk_record。
以上述依据本发明的理想实施例为启示,通过上述的说明内容,相关工作人员完全可以在不偏离本项发明技术思想的范围内,进行多样的变更以及修改。本项发明的技术性范围并不局限于说明书上的内容,必须要根据权利要求范围来确定其技术性范围。

Claims (3)

1.内存泄漏检查系统,其特征在于,包括内存数据采集模块、数据传输模块、内存泄漏分析模块和显示模块;所述内存数据采集模块运行于目标产品中,采集的数据通过所述数据传输模块传送至所述内存泄漏分析模块;所述内存数据采集模块采集的数据包括内存分配数据和内存释放数据;
所述内存数据采集模块包括内存分配数据采集单元和内存释放数据采集单元:
所述内存分配数据采集单元用于,在向目标应用程序分配内存前,记录所述目标应用程序所申请内存的内存块起始地址、内存块大小、内存块分配时间及调用内存分配函数的调用函数在所述目标应用程序中的位置;
所述内存释放数据采集单元用于,在目标应用程序释放内存前,记录所述目标应用程序将要释放内存的内存块起始地址、内存块大小、内存块释放时间及调用内存释放函数的调用函数在所述目标应用程序中的位置;
通过一个此自定义的模块提供的函数分配或者释放内存块,使用标准的内存分配malloc函数和内存释放free函数前,记录应用程序申请或者释放内存块的信息,包括内存块的起始地址、内存块的大小、内存块的分配时间或者释放时间,还记录辅助信息,包括分配或者释放函数调用在应用程序源代码中的位置,包括函数所在的文件、调用函数的名字、调用函数所在的行号;
在目标应用程序内存块申请的时候使用内存管理数据采集模块提供的内存分配和释放接口记录结构进行;
所述数据传输模块包括缓存,所述内存数据采集模块采集的内存分配数据和内存释放数据均存储在所述缓存中;
所述内存泄漏分析模块,所述内存泄漏分析模块运行于PC机中,适于预设内存块最大占用时间MAX_TIME,并适于根据所述内存数据采集模块采集的数据检查内存块是否发生泄漏,若同一地址的内存分配数据对应有内存释放数据,则所述地址的内存块未发生泄漏;若同一地址的内存分配数据无对应的内存释放数据,当所述地址的内存块占用时间小于所述最大占用时间MAX_TIME时,则所述地址的内存块未发生泄漏,当所述地址的内存块占用时间大于所述最大占用时间MAX_TIME时,则所述地址的内存块发生泄漏,具体过程如下:
(1)在目标应用程序申请分配内存前,内存数据采集模块采集内存分配数据;在目标应用程序释放内存前,内存数据采集模块采集内存释放数据;
(2)将所述内存数据采集模块采集的数据传送至内存泄漏分析模块,所述数据以记录R的形式保存至所述内存泄漏分析模块的哈希表中;
(3)判断记录R的类型,若R的记录类型为“1”,则继续到下一步;若R的记录类型为“2”,则转至步骤(5);
(4)以R的start为关键字将内存分配数据以记录R1保存至哈希表T1;转至步骤(6);
(5)以R的start为关键字将内存释放数据以记录R2保存至哈希表T2;
(6)所述内存泄漏分析模块设置内存块最大占用时间MAX_TIME;
(7)从哈希表T1中获取内存分配记录R1;
(8)以R1的start为关键字从哈希表T2中获取内存释放记录R2;
(9)判断R2是否为有效记录,若R2为有效记录,则继续到下一步;若R2为无效记录,则转至步骤(11);
(10)R1记录的内存块未发生内存泄漏,删除T1中的R1和T2中的R2;
(11)判断R1记录的内存块的分配时间是否大于MAX_TIME,若R1记录的内存块的分配时间大于MAX_TIME,则继续到下一步;若R1记录的内存块的分配时间小于MAX_TIME,则转至步骤(10);
(12)R1记录的内存块发生内存泄漏,实时显示该内存泄漏结果;
其中,所述内存泄漏分析模块设置的内存块最大占用时间MAX_TIME≥5分钟;
所述记录R1中的数据包括目标应用程序所申请内存的内存块起始地址、内存块大小、内存块分配时间及调用内存分配函数的调用函数在所述目标应用程序中的位置,所述调用内存分配函数的调用函数在所述目标应用程序中的位置数据包括所述调用函数所在的文件、调用函数的名字和调用函数所在的行号;
所述记录R2中的数据包括目标应用程序将要释放内存的内存块起始地址、内存块大小、内存块释放时间及调用内存释放函数的调用函数在所述目标应用程序中的位置;所述调用内存释放函数的调用函数在所述目标应用程序中的位置数据包括所述调用函数所在的文件、调用函数的名字和调用函数所在的行号;
内存泄漏的检查结果传送至所述显示模块进行显示。
2.根据权利要求1所述的系统,其特征在于,所述内存泄漏分析模块包括哈希分配表,所述哈希分配表用于记录所述内存分配数据。
3.根据权利要求1所述的系统,其特征在于,所述内存泄漏分析模块包括哈希释放表,所述哈希释放表用于记录所述内存释放数据。
CN201510704993.5A 2015-10-27 2015-10-27 内存泄漏检查系统及方法 Active CN105260313B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510704993.5A CN105260313B (zh) 2015-10-27 2015-10-27 内存泄漏检查系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510704993.5A CN105260313B (zh) 2015-10-27 2015-10-27 内存泄漏检查系统及方法

Publications (2)

Publication Number Publication Date
CN105260313A CN105260313A (zh) 2016-01-20
CN105260313B true CN105260313B (zh) 2019-07-05

Family

ID=55100013

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510704993.5A Active CN105260313B (zh) 2015-10-27 2015-10-27 内存泄漏检查系统及方法

Country Status (1)

Country Link
CN (1) CN105260313B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107436845A (zh) * 2017-07-27 2017-12-05 南京华飞数据技术有限公司 一种动态内存监测系统及其监测方法
CN108121602B (zh) * 2017-12-14 2022-05-06 捷开通讯(深圳)有限公司 一种确定垃圾收集触发点的方法、电子设备及存储介质
CN113326120B (zh) * 2020-02-29 2023-12-26 杭州迪普科技股份有限公司 管理内存的装置和方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466057A (zh) * 2002-06-20 2004-01-07 华为技术有限公司 一种软件内存泄露的检查方法
CN1845080A (zh) * 2005-04-07 2006-10-11 华为技术有限公司 内存泄漏检测及防止的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100965426B1 (ko) * 2008-04-24 2010-06-24 주식회사 파수닷컴 메모리 누수 검출 장치 및 방법

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1466057A (zh) * 2002-06-20 2004-01-07 华为技术有限公司 一种软件内存泄露的检查方法
CN1845080A (zh) * 2005-04-07 2006-10-11 华为技术有限公司 内存泄漏检测及防止的方法

Also Published As

Publication number Publication date
CN105260313A (zh) 2016-01-20

Similar Documents

Publication Publication Date Title
CN110209568B (zh) 覆盖率测试方法、装置及存储设备
US20130132340A1 (en) File synchronization method, electronic device and synchronization system
CN105260313B (zh) 内存泄漏检查系统及方法
CN102681938B (zh) 一种内存泄漏检测方法及装置
US20160283357A1 (en) Call stack relationship acquiring method and apparatus
CN108205560B (zh) 一种数据同步方法以及装置
CN111680008B (zh) 日志处理方法、系统、可读存储介质及智能设备
CN106528071A (zh) 目标代码的选取方法及装置
CN103716356A (zh) 基于web的存储过程操作方法、装置和系统
US9104567B2 (en) Memory-leak identification
CN106557308A (zh) 一种软件持续集成方法及装置
CN104133703A (zh) 确定不常用软件的方法及装置
CN104951370B (zh) 一种内存管理方法及装置
JP2006350876A (ja) ヒープダンプ取得方法
CN104516817A (zh) 一种内存泄漏检测方法及装置
CN101510156A (zh) 一种信息系统资源回收方法及装置
CN112506490A (zh) 一种接口生成方法、装置、电子设备及存储介质
CN102171696B (zh) 定制资料的生成方法和装置
CN109684611B (zh) 一种字典转码方法、装置、存储介质及终端
CN103902445A (zh) 一种回归测试对象确定方法及装置
US10635578B1 (en) System, method, and computer program for periodic memory leak detection
CN104239104B (zh) 卸载应用程序app的方法、装置和终端
CN109033381A (zh) 一种业务请求的执行方法、装置及设备
US7769976B2 (en) Identifying code that wastes virtual memory
CN113641628A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20201216

Address after: 313028 Industrial Park, balidian Town, Huzhou City, Zhejiang Province

Patentee after: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.

Address before: 201616 No. 3666 Sixian Road, Songjiang District, Shanghai

Patentee before: Phicomm (Shanghai) Co.,Ltd.

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

Denomination of invention: Memory leak checking system and method

Effective date of registration: 20210630

Granted publication date: 20190705

Pledgee: Zhejiang Tailong Commercial Bank Co.,Ltd. Huzhou Branch

Pledgor: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.

Registration number: Y2021330000755

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

Date of cancellation: 20230811

Granted publication date: 20190705

Pledgee: Zhejiang Tailong Commercial Bank Co.,Ltd. Huzhou Branch

Pledgor: HUZHOU FENGYUAN AGRICULTURAL EQUIPMENT MANUFACTURE Co.,Ltd.

Registration number: Y2021330000755