CN105630662A - 内存检测方法和装置 - Google Patents
内存检测方法和装置 Download PDFInfo
- Publication number
- CN105630662A CN105630662A CN201410593784.3A CN201410593784A CN105630662A CN 105630662 A CN105630662 A CN 105630662A CN 201410593784 A CN201410593784 A CN 201410593784A CN 105630662 A CN105630662 A CN 105630662A
- Authority
- CN
- China
- Prior art keywords
- class
- function
- application program
- current version
- memory
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明涉及一种内存检测方法和装置。所述方法包括以下步骤:抓取应用程序运行时的内存快照;从内存快照中获取不符合预设条件的对象的引用路径;将所述应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数;将所述引用路径与所述被修改的类和/或函数进行匹配,得到所述应用程序当前版本的内存泄漏点。上述内存检测方法和装置,通过自动抓取应用程序的内存快照,并获取符合条件的对象的引用路径,通过将应用程序当前版本信息和前一版本信息进行比较得到被修改的类和/或函数,然后再将引用路径与被修改的类和/或函数进行匹配,得到当前版本的内存泄漏点,过程不需人工参与,降低了人工成本,提高了检测效率。
Description
技术领域
本发明涉及数据检测领域,特别是涉及一种内存检测方法和装置。
背景技术
适用于Android系统的应用产品主要使用java语言编码,因语言自身特点,检测应用程序的内存泄漏点问题的方法主要是通过运行软件本身,在运行过程中抓取内存快照,并通过对内存快照的分析,将不合理常驻的内存对象摘出来,获取其引用路径和路径上的代码修改记录进行比较,得到泄漏点代码。
传统的应用程序的内存检测过程主要通过人工进行分析比较得出泄漏点,其人力成本较高。
发明内容
基于此,有必要针对传统的应用程序的内存检测方法依赖人工完成且人工成本较高的问题,提供一种能降低人工成本的内存检测方法和装置。
一种内存检测方法,包括以下步骤:
抓取应用程序运行时的内存快照;
从所述内存快照中获取不符合预设条件的对象的引用路径;
将所述应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数;
将所述引用路径与所述被修改的类和/或函数进行匹配,得到所述应用程序当前版本的内存泄漏点。
一种内存检测装置,包括:
抓取模块,用于抓取应用程序运行时的内存快照;
获取模块,用于从所述内存快照中获取不符合预设条件的对象的引用路径;
比较模块,用于将所述应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数;
匹配模块,用于将所述引用路径与所述被修改的类和/或函数进行匹配,得到所述应用程序当前版本的内存泄漏点。
上述内存检测方法和装置,通过自动抓取应用程序的内存快照,并获取符合条件的对象的引用路径,通过将应用程序当前版本信息和前一版本信息进行比较得到被修改的类和/或函数,然后再将引用路径与被修改的类和/或函数进行匹配,得到当前版本的内存泄漏点,其对比过程不需人工参与,降低了人工成本,且提高了检测效率。
附图说明
图1为一个实施例中内存检测方法的流程示意图;
图2为一个实施例中将该应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数的步骤的流程图;
图3为一个实施例中内存检测装置的结构框图;
图4为一个实施例中比较模块的内部结构示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明的内存检测方法运行于终端上,通过抓取应用程序运行时的内存快照,获取内存快照中的不符合预设条件的对象的引用路径,将应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数,将引用路径与被修改的类和/或函数进行匹配,得到应用程序当前版本的内存泄漏点,实现了应用程序的内存泄漏点的检测。该终端可为台式计算机、智能手机、膝上电脑、平板电脑等。该终端上可安装Android系统、IOS系统、Windows系统、WindowsPhone系统、Linux系统等。
图1为一个实施例中内存检测方法的流程示意图。如图1所示,该内存检测方法,包括以下步骤:
步骤102,抓取应用程序运行时的内存快照。
具体的,内存快照是指对数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点的映像。该应用程序可为运行于各种操作系统上任意应用程序,例如即时通讯客户端、微博、电子邮箱客户端等,但不限于此。
该内存快照中记录了所有内存对象和对象信息,该对象信息包括对象大小、属性和引用路径。其中,对象是类的实体化结果,即将数据和操作封装在一起形成一个实体。类是指面对象编程中,对于某独立功能的封装。类实例化对象,即为给类增加数据、空间、执行时间等资源的过程。属性是依照类的定义而定的。
引用路径为一条对象持有另外对象的链条。以如下一条引用路径描述为例:
<Pathaddr=“1133754040”classname=“java.util.HashMap”/>
<Pathaddr=“1133753800”classname=“android.database.sqlite.SQLiteCursor”/>
<Pathaddr=“1133754096”classname=“com.abc.component.cache.database.h”/>
<Pathaddr=“1133695944”classname=
“com.abc.component.cache.database.DbCacheManager”/>
<Pathaddr=“1133629800”classname=“com.efg.module.plugin.service.b”/>
<Pathaddr=“1133624024”classname=“java.lang.Class”/>
由上述引用路径的描述可知,引用路径包括6个节点,每个节点包括类名称(classname)和类所对应的对象的地址(address,即描述中的addr),类名称“java.util.HashMap”为子类,类名称“android.database.sqlite.SQLiteCursor”为类名称“java.util.HashMap”的父引用类,类名称“com.abc.component.cache.database.h”为类名称“android.database.sqlite.SQLiteCursor”的父引用类,类名称“com.abc.component.cache.database.DbCacheManager”为类名称“com.abc.component.cache.database.h”的父引用类,类名称“com.efg.module.plugin.service.b”为类名称“com.abc.component.cache.database.DbCacheManager”的父引用类,类名称java.lang.Class为类名称“java.util.HashMap”的根引用类,如此实现了层层引用,根据该引用路径,可获取对象所对应的类,以及子类的父引用类和根引用类等。
步骤104,从该内存快照中获取不符合预设条件的对象的引用路径。
具体的,对象是类的实体化结果,即将数据和操作封装在一起形成一个实体。
在一个实施例中,步骤104包括:从该内存快照中获取对象;判断该对象的常驻内存是否不符合预设的配置信息,若是,则获取该对象的引用路径,否则不获取该对象的引用路径。
该配置信息可包括操作逻辑、常驻对象种类和数量等。举例说明,如表1所示,配置信息中的操作逻辑为打开聊天窗口;配置信息中的常驻对象种类为发送一条消息对象(AIOSendMsg对象);配置信息中的常驻数量为增1,即每发一条消息增加一个AIOSendMsg对象。再如,配置信息中的操作逻辑为打开聊天窗口;配置信息中的常驻对象种类为接收一条消息对象(AIORecvMsg对象);配置信息中的常驻数量为增1,即每接收一条消息增加一个AIORecvMsg对象。判断是否不符合配置信息,即判断发送一条消息对象是否增加一条消息,若增加的消息大于一条,则表明不符合配置信息,需要获取该对象的引用路径,若增加的消息为一条,则表明符合配置信息,不需获取该对象的引用路径;或者,即判断接收一条消息对象是否增加一条消息,若增加的消息大于一条,则表明不符合配置信息,需要获取该对象的引用路径,若增加的消息为一条,则表明符合配置信息,不需获取该对象的引用路径。
表1
步骤106,将该应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数。
本实施例中,步骤106包括:将该应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数。
图2为一个实施例中将该应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数的步骤的流程图。如图2所示,该将该应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数的步骤具体包括:
步骤202,获取该应用程序的当前版本的基线和前一版本的基线,并将该当前版本的基线和前一版本的基线输入给基线差异分析器进行对比,得出差异数据。
具体的,基线是指以主开发(trunk)加版本号,或并行开发(branch)加版本号构成的。其中,trunk是用来做主方向开发的,新模块的开发采用trunk。当对开发的模块进行修改时采用branch。branch是用来做并行开发的,该并行开发是与trunk进行比较而言。具体的格式如:trunk123或者branches456。版本号是代码库管理应用程序的代码的一个记录号码,每次应用程序的代码修改提交后版本号会累加。
基线差异分析器(DiffAnalyzer)根据输入的当前版本的基线和前一版本的基线分析得出diff_info,即差异数据。该差异数据包括基线差异的文件列表及差异的新旧文件的diff信息(差异信息)。
步骤204,通过代码分析器对该差异数据中的每个文件进行分析,获得该差异数据中每个文件的类和函数的起始位置。
具体的,代码分析器(javaFileParser)逐个分析diff_info中的当前版本的基线和前一版本的基线的java文件,获取每个文件的Method_info和class_info,即类和函数的起始位置。
步骤206,通过类/函数差异分析器对该差异数据、类和函数的起始位置进行分析,得到当前版本中被修改的类和/或函数。
具体的,类/函数差异分析器(JmethodDiffAnalyzer)根据diff_info和Method_info和class_info进行分析得到当前版本中被修改的类和/或函数。
步骤108,将该引用路径与该被修改的类和/或函数进行匹配,得到该应用程序当前版本的内存泄漏点。
具体的,引用路径中包含类和/或函数的信息,将引用路径中的类和/或函数的信息和被修改的类和/或函数进行匹配,即可定位哪些变化可能导致内存泄漏,从而得到该应用程序当前版本的内存泄漏点。
上述内存检测方法,通过自动抓取应用程序的内存快照,并获取符合条件的对象的引用路径,通过将应用程序当前版本信息和前一版本信息进行比较得到被修改的类和/或函数,然后再将引用路径与被修改的类和/或函数进行匹配,得到当前版本的内存泄漏点,其对比过程不需人工参与,降低了人工成本,且提高了检测效率。
举例说明通过上述内存检测方法进行检测可检测得到如下:问题对象:AIOSendMsg;预设条件:每发一条消息增加1条消息对象;实际情况:每发一条消息增加10条消息对象;引用路径:AIOSendMsg->xxxx->yyyy->zzzz->end;被修改的类:xxx:758行;详情:for(循环){a=bbc;此行修改于2014年8月14日晚10点40分,作者:t}。上述内存检测方法还可获取该应用程序当前版本的内存泄漏点的详情,并展示该详情。该详情可包括该内存泄漏点修改的时间及修改者。
图3为一个实施例中内存检测装置的结构框图。如图3所示,该内存检测装置,包括抓取模块310、获取模块320、比较模块330和匹配模块340。其中:
抓取模块310用于抓取应用程序运行时的内存快照。具体的,内存快照是指对数据集合的一个完全可用拷贝,该拷贝包括相应数据在某个时间点的映像。该应用程序可为运行于各种操作系统上任意应用程序,例如即时通讯客户端、微博、电子邮箱客户端等,但不限于此。
该内存快照中记录了所有内存对象和对象信息,该对象信息包括对象大小、属性和引用路径。其中,对象是类的实体化结果。类是指面对象编程中,对于某独立功能的封装。类实例化对象,即为给类增加数据、空间、执行时间等资源的过程。属性是依照类的定义而定的。引用路径为一条对象持有另外对象的链条。
获取模块320用于从该内存快照中获取符合预设条件的对象的引用路径。
本实施例中,获取模块320还用于从该内存快照中获取对象,判断该对象的常驻内存是否不符合预设的配置信息,若是,则获取该对象的引用路径,否则不获取该对象的引用路径。
该配置信息可包括操作逻辑、常驻对象种类和数量等。举例说明,如表1所示,配置信息中的操作逻辑为打开聊天窗口;配置信息中的常驻对象种类为发送一条消息(AIOSendMsg对象);常驻数量为增1,即每发一条消息增加一个AIOSendMsg对象。再如,配置信息中的操作逻辑为打开聊天窗口;配置信息中的常驻对象种类为AIORecvMsg对象;配置信息中的常驻数量为增1,即每接收一条消息增加一个AIORecvMsg对象。判断是否不符合配置信息,即判断发送一条消息对象是否增加一条消息,若增加的消息大于一条,则表明不符合配置信息,需要获取该对象的引用路径,若增加的消息为一条,则表明符合配置信息,不需获取该对象的引用路径;或者,即判断接收一条消息对象是否增加一条消息,若增加的消息大于一条,则表明不符合配置信息,需要获取该对象的引用路径,若增加的消息为一条,则表明符合配置信息,不需获取该对象的引用路径。
比较模块330用于将该应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数。具体的,比较模块330还用于将该应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数。
图4为一个实施例中比较模块的内部结构示意图。如图4所示,该比较模块330包括基线比较单元332、代码分析单元334和差异比较单元336。其中:
基线比较单元332用于获取该应用程序的当前版本的基线和前一版本的基线,并将该当前版本的基线和前一版本的基线输入给基线差异分析器进行对比,得出差异数据。
具体的,基线是指以主开发(trunk)加版本号,或并行开发(branch)加版本号构成的。其中,trunk是用来做主方向开发的,新模块的开发采用trunk。当对开发的模块进行修改时采用branch。branch是用来做并行开发的,该并行开发是与trunk进行比较而言。具体的格式如:trunk123或者branches456。版本号是代码库管理应用程序的代码的一个记录号码,每次应用程序的代码修改提交后版本号会累加。基线差异分析器(DiffAnalyzer)根据输入的当前版本的基线和前一版本的基线分析得出diff_info,即差异数据。该差异数据包括基线差异的文件列表及差异的新旧文件的diff信息(差异信息)。
代码分析单元334用于通过代码分析器对该差异数据中的每个文件进行分析,获得该差异数据中每个文件的类和函数的起始位置。具体的,代码分析器(javaFileParser)逐个分析diff_info中的当前版本的基线和前一版本的基线的java文件,获取每个文件的Method_info和class_info,即类和函数的起始位置。
差异比较单元336用于通过类/函数差异分析器对该差异数据、类和函数的起始位置进行分析,得到当前版本中被修改的类和/或函数。具体的,类/函数差异分析器(JmethodDiffAnalyzer)根据diff_info和Method_info和class_info进行分析得到当前版本中被修改的类和/或函数。
匹配模块340用于将该引用路径与该被修改的类和/或函数进行匹配,得到该应用程序当前版本的内存泄漏点。具体的,引用路径中包含类和/或函数的信息,将引用路径中的类和/或函数的信息和被修改的类和/或函数进行匹配,即可定位哪些变化可能导致内存泄漏,从而得到该应用程序当前版本的内存泄漏点。
上述内存检测装置,通过自动抓取应用程序的内存快照,并获取符合条件的对象的引用路径,通过将应用程序当前版本信息和前一版本信息进行比较得到被修改的类和/或函数,然后再将引用路径与被修改的类和/或函数进行匹配,得到当前版本的内存泄漏点,其对比过程不需人工参与,降低了人工成本,且提高了检测效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述程序可存储于一计算机可读取存储介质中,如本发明实施例中,该程序可存储于计算机系统的存储介质中,并被该计算机系统中的至少一个处理器执行,以实现包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)或随机存储记忆体(RandomAccessMemory,RAM)等。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种内存检测方法,其特征在于,包括以下步骤:
抓取应用程序运行时的内存快照;
从所述内存快照中获取不符合预设条件的对象的引用路径;
将所述应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数;
将所述引用路径与所述被修改的类和/或函数进行匹配,得到所述应用程序当前版本的内存泄漏点。
2.根据权利要求1所述的方法,其特征在于,所述将所述应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数的步骤包括:
将所述应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数。
3.根据权利要求2所述的方法,其特征在于,所述将所述应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数的步骤包括:
获取所述应用程序的当前版本的基线和前一版本的基线,并将所述当前版本的基线和前一版本的基线输入给基线差异分析器进行对比,得出差异数据;
通过代码分析器对所述差异数据中的每个文件进行分析,获得所述差异数据中每个文件的类和函数的起始位置;
通过类/函数差异分析器对所述差异数据、类和函数的起始位置进行分析,得到当前版本中被修改的类和/或函数。
4.根据权利要求1所述的方法,其特征在于,所述从所述内存快照中获取不符合预设条件的对象的引用路径的步骤包括:
从所述内存快照中获取对象;
判断所述对象的常驻内存是否不符合预设的配置信息,若是,则获取所述对象的引用路径,否则不获取所述对象的引用路径。
5.根据权利要求4所述的方法,其特征在于,所述引用路径为一条对象持有另外对象的链条;所述配置信息包括操作逻辑、常驻对象种类和数量。
6.一种内存检测装置,其特征在于,包括:
抓取模块,用于抓取应用程序运行时的内存快照;
获取模块,用于从所述内存快照中获取不符合预设条件的对象的引用路径;
比较模块,用于将所述应用程序的当前版本信息和前一版本信息进行比较,得到被修改的类和/或函数;
匹配模块,用于将所述引用路径与所述被修改的类和/或函数进行匹配,得到所述应用程序当前版本的内存泄漏点。
7.根据权利要求6所述的装置,其特征在于,所述比较模块还用于将所述应用程序的当前版本信息和前一版本信息发送给差异比较器进行比较,得到被修改的类和/或函数。
8.根据权利要求7所述的装置,其特征在于,所述比较模块包括:
基线比较单元,用于获取所述应用程序的当前版本的基线和前一版本的基线,并将所述当前版本的基线和前一版本的基线输入给基线差异分析器进行对比,得出差异数据;
代码分析单元,用于通过代码分析器对所述差异数据中的每个文件进行分析,获得所述差异数据中每个文件的类和函数的起始位置;
差异比较单元,用于通过类/函数差异分析器对所述差异数据、类和函数的起始位置进行分析,得到当前版本中被修改的类和/或函数。
9.根据权利要求6所述的装置,其特征在于,所述获取模块还用于从所述内存快照中获取对象,判断所述对象的常驻内存是否不符合预设的配置信息,若是,则获取所述对象的引用路径,否则不获取所述对象的引用路径。
10.根据权利要求9所述的装置,其特征在于,所述引用路径为一条对象持有另外对象的链条;所述配置信息包括操作逻辑、常驻对象种类和数量。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410593784.3A CN105630662B (zh) | 2014-10-28 | 2014-10-28 | 内存检测方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410593784.3A CN105630662B (zh) | 2014-10-28 | 2014-10-28 | 内存检测方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105630662A true CN105630662A (zh) | 2016-06-01 |
CN105630662B CN105630662B (zh) | 2019-07-19 |
Family
ID=56045634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410593784.3A Active CN105630662B (zh) | 2014-10-28 | 2014-10-28 | 内存检测方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105630662B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095689A (zh) * | 2016-06-24 | 2016-11-09 | 北京奇虎科技有限公司 | 一种应用内存泄露的检测方法和装置 |
CN106528430A (zh) * | 2016-12-01 | 2017-03-22 | 北京金山安全软件有限公司 | 一种应用程序的检测方法、装置及电子设备 |
CN107632929A (zh) * | 2017-08-21 | 2018-01-26 | 北京京东尚科信息技术有限公司 | 一种检测内存泄漏的方法和装置 |
CN107992429A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种内存对象引用关系确定方法及装置 |
CN110147307A (zh) * | 2019-05-15 | 2019-08-20 | 东华大学 | 一种嵌入式系统仿真ram、rom结果对比系统 |
CN110471819A (zh) * | 2019-07-24 | 2019-11-19 | 珠海金山网络游戏科技有限公司 | 一种基于mono内存的模块化分析方法及其装置 |
CN111506500A (zh) * | 2020-04-09 | 2020-08-07 | 北京奇艺世纪科技有限公司 | 内存泄露检测方法、装置、电子设备及可读存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1221912A (zh) * | 1997-12-09 | 1999-07-07 | 太阳微系统有限公司 | 用于发现内存泄漏和运行期信息的对象堆分析技术 |
US20050268286A1 (en) * | 2004-04-12 | 2005-12-01 | Motoki Obata | Method of detecting memory leak causing portion and execution program thereof |
JP2007004413A (ja) * | 2005-06-23 | 2007-01-11 | Hitachi Ltd | メモリリークの検出方法 |
US20080028178A1 (en) * | 2006-07-31 | 2008-01-31 | Microsoft Corporation | Detection of memory leaks |
CN103514166A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | Sql检查方法与装置 |
CN103714004A (zh) * | 2014-01-02 | 2014-04-09 | 金蝶软件(中国)有限公司 | Jvm在线内存泄露分析方法及系统 |
-
2014
- 2014-10-28 CN CN201410593784.3A patent/CN105630662B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1221912A (zh) * | 1997-12-09 | 1999-07-07 | 太阳微系统有限公司 | 用于发现内存泄漏和运行期信息的对象堆分析技术 |
US20050268286A1 (en) * | 2004-04-12 | 2005-12-01 | Motoki Obata | Method of detecting memory leak causing portion and execution program thereof |
JP2007004413A (ja) * | 2005-06-23 | 2007-01-11 | Hitachi Ltd | メモリリークの検出方法 |
US20080028178A1 (en) * | 2006-07-31 | 2008-01-31 | Microsoft Corporation | Detection of memory leaks |
CN103514166A (zh) * | 2012-06-15 | 2014-01-15 | 阿里巴巴集团控股有限公司 | Sql检查方法与装置 |
CN103714004A (zh) * | 2014-01-02 | 2014-04-09 | 金蝶软件(中国)有限公司 | Jvm在线内存泄露分析方法及系统 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106095689A (zh) * | 2016-06-24 | 2016-11-09 | 北京奇虎科技有限公司 | 一种应用内存泄露的检测方法和装置 |
CN107992429A (zh) * | 2016-10-27 | 2018-05-04 | 腾讯科技(深圳)有限公司 | 一种内存对象引用关系确定方法及装置 |
CN107992429B (zh) * | 2016-10-27 | 2021-10-15 | 腾讯科技(深圳)有限公司 | 一种内存对象引用关系确定方法及装置 |
CN106528430A (zh) * | 2016-12-01 | 2017-03-22 | 北京金山安全软件有限公司 | 一种应用程序的检测方法、装置及电子设备 |
CN106528430B (zh) * | 2016-12-01 | 2019-03-26 | 北京金山安全软件有限公司 | 一种应用程序的检测方法、装置及电子设备 |
CN107632929A (zh) * | 2017-08-21 | 2018-01-26 | 北京京东尚科信息技术有限公司 | 一种检测内存泄漏的方法和装置 |
CN110147307A (zh) * | 2019-05-15 | 2019-08-20 | 东华大学 | 一种嵌入式系统仿真ram、rom结果对比系统 |
CN110147307B (zh) * | 2019-05-15 | 2021-10-26 | 东华大学 | 一种嵌入式系统仿真ram、rom结果对比系统 |
CN110471819A (zh) * | 2019-07-24 | 2019-11-19 | 珠海金山网络游戏科技有限公司 | 一种基于mono内存的模块化分析方法及其装置 |
CN110471819B (zh) * | 2019-07-24 | 2023-05-16 | 珠海金山数字网络科技有限公司 | 一种基于mono内存的模块化分析方法及其装置 |
CN111506500A (zh) * | 2020-04-09 | 2020-08-07 | 北京奇艺世纪科技有限公司 | 内存泄露检测方法、装置、电子设备及可读存储介质 |
CN111506500B (zh) * | 2020-04-09 | 2023-05-23 | 北京奇艺世纪科技有限公司 | 内存泄露检测方法、装置、电子设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN105630662B (zh) | 2019-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105630662A (zh) | 内存检测方法和装置 | |
US10481964B2 (en) | Monitoring activity of software development kits using stack trace analysis | |
CN108804299B (zh) | 应用程序异常处理方法及装置 | |
CN109614433B (zh) | 业务系统间数据血缘的识别方法、装置、设备及存储介质 | |
CN107370806B (zh) | Http状态码监控方法、装置、存储介质和电子设备 | |
US11727045B2 (en) | Using cross-matching between users and matching against reference data to facilitate content identification | |
CN109960621A (zh) | 一种基于大数据可视化监控平台的数据抽取方法 | |
US20160026728A1 (en) | Interaction Method And Device Between Browsers And Browser | |
CN107644075B (zh) | 收集页面信息的方法和装置 | |
CN112394908A (zh) | 埋点页面自动生成的方法、装置、计算机设备及存储介质 | |
CN107526623B (zh) | 一种数据处理方法及装置 | |
CN110688168A (zh) | 提高应用程序启动速度方法、装置、设备及存储介质 | |
CN111177113A (zh) | 数据迁移方法、装置、计算机设备和存储介质 | |
CN108446224B (zh) | 移动端上应用程序的性能分析方法、存储介质 | |
US8712100B2 (en) | Profiling activity through video surveillance | |
CN110297820B (zh) | 一种数据处理方法、装置、设备和存储介质 | |
CN111090593A (zh) | 确定崩溃归属的方法、装置、电子设备及存储介质 | |
CN107741850B (zh) | 动态壁纸包的生成方法、装置及存储介质 | |
CN114064712A (zh) | 数据访问方法、装置、电子设备及计算机可读存储介质 | |
CN113158842A (zh) | 一种识别方法、系统、设备及介质 | |
US9189633B2 (en) | Download management method and device based on android browser | |
CN104679741B (zh) | 一种获取实例占用内存的方法及装置 | |
CN111694739A (zh) | 接口测试方法、装置、设备及存储介质 | |
CN111475783A (zh) | 数据检测方法、系统及设备 | |
CN111427870B (zh) | 一种资源管理方法、装置及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |