CN113434429A - 一种应用程序的内存故障检测方法、装置及设备 - Google Patents

一种应用程序的内存故障检测方法、装置及设备 Download PDF

Info

Publication number
CN113434429A
CN113434429A CN202110779886.4A CN202110779886A CN113434429A CN 113434429 A CN113434429 A CN 113434429A CN 202110779886 A CN202110779886 A CN 202110779886A CN 113434429 A CN113434429 A CN 113434429A
Authority
CN
China
Prior art keywords
image data
memory
data
preset format
application program
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.)
Pending
Application number
CN202110779886.4A
Other languages
English (en)
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.)
Qingdao Haier Technology Co Ltd
Haier Smart Home Co Ltd
Original Assignee
Qingdao Haier Technology Co Ltd
Haier Smart Home 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 Qingdao Haier Technology Co Ltd, Haier Smart Home Co Ltd filed Critical Qingdao Haier Technology Co Ltd
Priority to CN202110779886.4A priority Critical patent/CN113434429A/zh
Publication of CN113434429A publication Critical patent/CN113434429A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种应用程序的内存故障检测方法、装置及设备,该方法包括:首先获取待检测的目标软件;并将其运行在预设格式的终端设备内,以生成调试端口,然后服务器端通过该调试端口,与预设格式的终端设备建立通信连接;并获取该终端设备中的常驻内存数据,以从中筛选出图像数据,接着,根据图像数据的唯一标识,从该终端设备中获取图像数据的详细信息;并将其进行展示,进而可以根据展示出的详细信息,对目标软件的应用程序进行内存故障检测,得到检测结果。可见,由于本申请能够整理出目标软件的应用程序内存中所有图像数据,以便用户直观的看到每张图像的详细信息,从而能够快速、准确地检测出导致应用程序内存暴涨故障的问题图像。

Description

一种应用程序的内存故障检测方法、装置及设备
技术领域
本申请涉及计算机技术领域,尤其涉及一种应用程序的内存故障检测方法、装置及设备。
背景技术
随着大前端技术的快速发展,各种跨平台方案层出不穷,Flutter作为后起之秀,被认为是跨平台技术的终极解决方案脱颖而出,社区异常活跃,而Google官方的Flutter团队对框架的维护也非常的积极和高效,越来越多的公司已经将业务迁移到Flutter。例如,海尔智家应用程序(application,简称App)已经部分业务进行迁移,即,切换至Flutter框架。
但基于Flutter开发的App在开发过程中,频繁会遇到因内存暴涨导致的闪退问题(out of memory,简称OOM),对此,在利用官方的两款调试工具Observatory和DevTools进行检测后,仅能确定是由于图片过多、过大导致出现内存暴涨的故障,却无法进行更精确、快速的故障定位,仍然需要人工对所有App数据进行“地毯式搜索”,耗时耗力,并且这种人工验证的方式,主观性强、难以量化,不仅检测的效率低,而且还需要花费大量的人力资源。
发明内容
本申请实施例的主要目的在于提供一种应用程序的内存故障检测方法、装置及设备,能够更加快速且准确地检测出应用程序中导致内存暴涨故障的问题图片,提高了检测结果的准确性。
本申请实施例提供了一种应用程序的内存故障检测方法,包括:
获取待检测的目标软件;并将所述目标软件运行于预设格式的终端设备内,以生成调试端口;
服务器端通过所述调试接口与所述预设格式的终端设备建立通信连接;并获取所述预设格式的终端设备中的常驻内存数据;
在所述常驻内存数据中筛选出图像数据;
根据所述图像数据的唯一标识,从所述预设格式的终端设备中获取所述图像数据的详细信息;并将所述详细信息进行展示;
根据所述图像数据的详细信息,对所述目标软件的应用程序进行内存故障检测,得到检测结果。
一种可能的实现方式中,所述预设格式的终端设备为Dart VM。
一种可能的实现方式中,所述预设格式的终端设备中的常驻内存数据包括图像数据和文字数据。
一种可能的实现方式中,所述在所述常驻内存数据中筛选出图像数据,包括:
根据所述常驻内存数据内不同数据的分类类型,筛选出图像数据。
一种可能的实现方式中,所述图像数据的唯一标识为所述图像数据的ID。
一种可能的实现方式中,所述图像数据的详细信息包括所述图像数据占用的内存大小、引用所述图像数据的包package名称和代码位置、所述图像数据的类型、所述图像数据的尺寸、所述图像数据的来源。
本申请实施例还提供了一种应用程序的内存故障检测装置,所述装置包括:
第一获取单元,用于获取待检测的目标软件;并将所述目标软件运行于预设格式的终端设备内,以生成调试端口;
第二获取单元,用于服务器端通过所述调试端口与所述预设格式的终端设备建立通信连接;并获取所述预设格式的终端设备中的常驻内存数据;
筛选单元,用于在所述常驻内存数据中筛选出图像数据;
第三获取单元,用于根据所述图像数据的唯一标识,从所述预设格式的终端设备中获取所述图像数据的详细信息;并将所述详细信息进行展示;
检测单元,用于根据所述图像数据的详细信息,对所述目标软件的应用程序进行内存故障检测,得到检测结果。
一种可能的实现方式中,所述预设格式的终端设备为Dart VM。
一种可能的实现方式中,所述预设格式的终端设备中的常驻内存数据包括图像数据和文字数据。
一种可能的实现方式中,所述筛选单元具体用于:
根据所述常驻内存数据内不同数据的分类类型,筛选出图像数据。
一种可能的实现方式中,所述图像数据的唯一标识为所述图像数据的ID。
一种可能的实现方式中,所述图像数据的详细信息包括所述图像数据占用的内存大小、引用所述图像数据的包package名称和代码位置、所述图像数据的类型、所述图像数据的尺寸、所述图像数据的来源。
本申请实施例还提供了一种应用程序的内存故障检测设备,包括:处理器、存储器、***总线;
所述处理器以及所述存储器通过所述***总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述应用程序的内存故障检测方法中的任意一种实现方式。
本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述应用程序的内存故障检测方法中的任意一种实现方式。
本申请实施例提供的一种应用程序的内存故障检测方法、装置及设备,首先获取待检测的目标软件;并将目标软件运行在预设格式的终端设备内,以生成调试端口,然后服务器端通过该调试端口与预设格式的终端设备建立通信连接;并获取预设格式的终端设备中的常驻内存数据,以便在常驻内存数据中筛选出图像数据,接着,可以根据图像数据的唯一标识,从预设格式的终端设备中获取图像数据的详细信息;并将详细信息进行展示,进而可以根据展示出的详细信息,对目标软件的应用程序进行内存故障检测,得到检测结果。可见,由于本申请实施例能够对目标软件的应用程序内存中所有图像详细数据进行收集整理,以便用户可以直观的看到每张图像的引用情况、图片类型、内存大小、图片尺寸,图片源等详细信息,从而能够更加快速且准确地检测出导致应用程序内存暴涨故障的问题图像,提高了检测结果的准确性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种应用程序的内存故障检测方法的流程示意图;
图2为本申请实施例提供的应用程序的内存故障检测方法的交互场景的示例图;
图3为本申请实施例提供的一种应用程序的内存故障检测装置的组成示意图。
具体实施方式
Flutter是Google发布的跨平台UI开发框架,编写一套代码,可同时发布到iOS、Android、Windows、MacOS、Linux五大平台,也可以发布为Web应用运行于各大浏览器中。其跨端表现的一致性以及优异的性能,受到了广大开发者的热烈追捧,被许多开发者认为是跨平台开发的终极解决方案。例如海尔智家App等越来越多的APP已经将部分业务切换至Flutter框架。
但基于Flutter开发的App在开发过程中(比如海尔智家App由H5逐步切换到Flutter的过程中),频繁会遇到因内存暴涨导致的闪退问题,对此,在利用官方的两款调试工具Observatory和DevTools进行检测后,仅能确定是由于图片过多、过大导致出现内存暴涨的故障,却无法进行更精确、快速的故障定位,仍然需要人工对所有App数据进行“地毯式搜索”,耗时耗力。这是因为官方检测工具Observatory是Web应用,运行在浏览器中,对于开发者而言,要想找到问题对象,需要人工对所有App数据进行“地毯式搜索”,却还很有可能找不到。而官方检测工具DevTools仍处于测试(beta)阶段,仅限于beta版本,且无法获取到每张图像的详细信息。并且这种人工验证的方式,主观性强、难以量化,不仅检测的效率低,而且还需要花费大量的人力资源。
为解决上述缺陷,本申请提供了一种应用程序的内存故障检测方法、装置及设备,首先获取待检测的目标软件;并将目标软件运行在预设格式的终端设备内,以生成调试端口,然后服务器端通过该调试端口与预设格式的终端设备建立通信连接;并获取预设格式的终端设备中的常驻内存数据,以便在常驻内存数据出筛选出图像数据,接着,可以根据图像数据的唯一标识,从预设格式的终端设备中获取图像数据的详细信息;并将图像数据的详细信息进行展示,进而可以根据展示出的图像数据的详细信息,对目标软件的应用程序进行内存故障检测,得到检测结果。可见,由于本申请实施例能够对目标软件的应用程序内存中所有图像详细数据进行收集整理,以便用户可以直观的看到每张图像的引用情况、图片类型、内存大小、图片尺寸,图片源等详细信息,从而能够更加快速且准确地检测出导致应用程序内存暴涨故障的问题图像,提高了检测结果的准确性。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
第一实施例
参见图1,为本实施例提供的一种应用程序的内存故障检测方法的流程示意图,该方法包括以下步骤:
S101:获取待检测的目标软件;并将目标软件运行于预设格式的终端设备上,以生成作为调试端口。
在本实施例中,将采用本申请提供的检测方法实现内存故障检测的任一基于软件(如基于Flutter开发的Flutter软件)定义为目标软件。并且,需要说明的是,本实施例不限制目标软件的类型,比如,目标软件可以属于购物类或娱乐类等。
为了实现对目标软件的应用程序内存故障的准确检测,首先需要获取待检测的目标软件;并将目标软件运行于预设格式的终端设备(如虚拟机(Virtual Machine,简称VM)等)上,以生成调试端口(如基于Web Socket协议的网络地址(Web Socket URL)等),用以执行后续步骤S102。
其中,预设格式的终端设备指的是可以运行预设类型语言程序的终端设备,可根据实际情况选取,本申请实施例对此不进行限定,一种可选的实现方式是,可以将预设格式的终端设备设定为Dart VM。这样,可以将目标软件运行在Dart VM上,当以Debug或Profile模式启动时,就会自动生成一个Web Socket URL作为调试端口,用以执行后续步骤S102。
S102:服务器端通过该调试接口与预设格式的终端设备建立通信连接;并获取预设格式的虚拟机VM中的常驻内存数据。
在本实施例上,通过步骤S101获取到待检测的目标软件;并将目标软件运行在预设格式的终端设备(如Dart VM)内,以生成调试端口(如Web Socket URL)后,进一步的,服务器端(如虚拟机服务器端(VM Service))可以连接该调试端口(如Web Socket URL),并在连接成功后,与预设格式的终端设备(如Dart VM)建立通信连接;这样,就可以通过该通信连接获取预设格式的终端设备(如Dart VM)中的常驻内存数据,用以执行后续步骤S103。
其中,一种可选的实现方式是,预设格式的终端设备中的常驻内存数据指的是经常会存储在预设格式的终端设备中的内存数据,可以包括图像数据、文字数据、音频数据等。
S103:在常驻内存数据中筛选出图像数据。
在本实施例上,通过步骤S102获取到预设格式的终端设备(如Dart VM)中的常驻内存数据后,进一步可以根据这些常驻内存数据内不同数据的分类类型,筛选出图像数据,用以执行后续步骤S104。例如,图像数据、文字数据、音频数据等不同类型的内存数据,通常会以不同的标识存储在内存中,如图像数据对应的存储标识可能为001、文字数据对应的存储标识可能为002、音频数据对应的存储标识可能为005等。
需要说明的是,本实施例不限制图像数据的类型,比如,图像数据可以是由红(R)、绿(G)、蓝(B)三原色组成的彩色图像、也可以是灰度图像等。
S104:根据图像数据的唯一标识,从预设格式的终端设备中获取图像数据的详细信息;并将详细信息进行展示。
在本实施例上,通过步骤S103从常驻内存数据中筛选出图像数据后,进一步可以根据图像数据的唯一标识(如图像数据的ID),从预设格式的终端设备(如Dart VM)中获取图像数据的详细信息;并将图像数据的详细信息进行展示,如可以将逐渐积累起来的图像数据的详细信息加以归纳和整理,使之条理化、纲领化后,再进行展示,例如可以这将这些图像数据的详细信息导出到Excel等,用以执行后续步骤S105。
其中,一种可选的实现方式是,图像数据的详细信息可以包括图像数据占用的内存大小、引用图像数据的包package名称和代码位置、图像数据的类型、图像数据的尺寸、图像数据的来源(本地图片文件路径、网络图片URL等)。
S105:根据图像数据的详细信息,对目标软件的应用程序进行内存故障检测,得到检测结果。
在本实施例上,通过步骤S104获取到图像数据的详细信息并将其进行结构化展示后,进一步可以根据展示出的这些图像数据的详细信息,对目标软件的应用程序进行内存故障检测,快速、精确地定位由于哪些图像资源引起的应用程序内存暴涨问题,作为检测结果。
可以理解的是,通常是多张占用内存较大的图像有很大可能引起应用程序内存暴涨,进而用户可以根据展示出的结构化(如Excel形式)的图像详细信息,快速、精确的定位到内存问题并高效的解决问题。
还需要重点强调的是,本申请不限定实现应用程序的内存故障检测方法的执行者的具体实现形式。比如,可以将实现本申请实施例提供的应用程序的内存故障检测方法的程序集成到一个桌面应用APP(此处将其定义为FlutterTools APP),则可以将该桌面应用APP(FlutterTools)安装到虚拟机服务器端(VM Service)中,用以实现对目标软件的应用程序的内存故障检测,或者,还包含其他实现形式,如移动小程序等,均属于在本申请实施例的覆盖范围。
为便于理解本申请,接下来,以将实现本申请实施例提供的应用程序的内存故障检测方法的程序集成到一个桌面应用APP(即FlutterTools APP)为例,对应用本申请提供的应用程序的内存故障检测方法的交互场景进行介绍,参见图2,其示出了应用程序的内存故障检测方法的交互场景的示例图,具体实现过程为:可以包括以下步骤:
步骤(1):Flutter APP运行在Dart VM上,当以Debug或Profile模式启动时,会自动生成一个Web Socket URL调试端口。
步骤(2):运行FlutterTools APP,初始化VM Serice,并通过VM Service连接该Web Socket URL。
步骤(3):连接成功后,FlutterTools APP就可以通过VM Service获取Dart VM中的常驻(persistentHandles)内存数据,如图像数据、文字数据、音频数据等。
其中,采用的获取函数分别为_getPersisterntHandles()、返回weakPERsistertHandles
步骤(4):获取到常驻(persistentHandles)内存数据后,可根据其中不同数据类型,过滤出所有的图片信息,筛选出图像数据作为检测对象。
步骤(5):依次根据每张图像的唯一标识(如ID)获取每张图像的详细信息。
其中,图像数据的详细信息可以包括图像占用的内存大小,引用图片的package名称、代码位置、图像类型、缓存大小、图像尺寸、图像源等数据。
步骤(6):对获取到的图像数据的详细信息进行结构化展示,且支持导出为Excel文件。
需要说明的是,步骤(1)-(6)与上文步骤S101-S105大体一致,相关之处请参见上文步骤S101-S105的介绍,在此不再赘述。
这样,FlutterTools作为测试工具,可以通过VM Service获取Dart VM中的所有数据,并沿着对象引用链获取每张图像的详细信息,包括引用图像的package名称、代码位置、图像类型、图像占用的内存大小、缓存大小、图像尺寸、图片源等,最终对所有数据进行整理展示,并支持导出为Excel文件提供给用户,使得用户能够快速、精确的定位到内存问题并高效的解决问题。
综上,本实施例提供的一种应用程序的内存故障检测方法,首先获取待检测的目标软件;并将目标软件运行在预设格式的终端设备内,以生成调试端口,然后服务器端通过该调试接口,与预设格式的终端设备建立通信连接;并获取预设格式的终端设备中的常驻内存数据,以便在常驻内存数据中筛选出图像数据,接着,可以根据图像数据的唯一标识,从预设格式的终端设备中获取图像数据的详细信息;并将详细信息进行展示,进而可以根据展示出的详细信息,对目标软件的应用程序进行内存故障检测,得到检测结果。可见,由于本申请实施例能够对目标软件的应用程序内存中所有图像详细数据进行收集整理,以便用户可以直观的看到每张图像的引用情况、图片类型、内存大小、图片尺寸,图片源等详细信息,从而能够更加快速且准确地检测出导致应用程序内存暴涨故障的问题图像,提高了检测结果的准确性。
第二实施例
本实施例将对一种应用程序的内存故障检测装置进行介绍,相关内容请参见上述方法实施例。
参见图3,为本实施例提供的一种应用程序的内存故障检测装置的组成示意图,该装置300包括:
第一获取单元301,用于获取待检测的目标软件;并将所述目标软件运行于预设格式的终端设备内,以生成调试端口;
第二获取单元302,用于服务器端通过所述调试端口L,与所述预设格式的终端设备建立通信连接;并获取所述预设格式的终端设备中的常驻内存数;
筛选单元303,用于在所述常驻内存数据中筛选出图像数据;
第三获取单元304,用于根据所述图像数据的唯一标识,从所述预设格式的终端设备中获取所述图像数据的详细信息;并将所述详细信息进行展示;
检测单元305,用于根据所述图像数据的详细信息,对所述目标软件的应用程序进行内存故障检测,得到检测结果。
在本实施例的一种实现方式中,所述预设格式的终端设备为Dart VM。
在本实施例的一种实现方式中,所述预设格式的终端设备中的常驻内存数据包括图像数据和文字数据。
在本实施例的一种实现方式中,所述筛选单元303具体用于:
根据所述常驻内存数据内不同数据的分类类型,筛选出图像数据。
在本实施例的一种实现方式中,所述图像数据的唯一标识为所述图像数据的ID。
在本实施例的一种实现方式中,所述图像数据的详细信息包括所述图像数据占用的内存大小、引用所述图像数据的包package名称和代码位置、所述图像数据的类型、所述图像数据的尺寸、所述图像数据的来源。
进一步地,本申请实施例还提供了一种应用程序的内存故障检测设备,包括:处理器、存储器、***总线;
所述处理器以及所述存储器通过所述***总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述应用程序的内存故障检测方法的任一种实现方法。
进一步地,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述应用程序的内存故障检测方法的任一种实现方法。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到上述实施例方法中的全部或部分步骤可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者诸如媒体网关等网络通信设备,等等)执行本申请各个实施例或者实施例的某些部分所述的方法。
需要说明的是,本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本申请。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种应用程序的内存故障检测方法,其特征在于,包括:
获取待检测的目标软件;并将所述目标软件运行于预设格式的终端设备内,以生成调试端口;
服务器端通过所述调试接口与所述预设格式的终端设备建立通信连接;并获取所述预设格式的终端设备中的常驻内存数据;
在所述常驻内存数据中筛选出图像数据;
根据所述图像数据的唯一标识,从所述预设格式的终端设备中获取所述图像数据的详细信息;并将所述详细信息进行展示;
根据所述图像数据的详细信息,对所述目标软件的应用程序进行内存故障检测,得到检测结果。
2.根据权利要求1所述的应用程序的内存故障检测方法,其特征在于,所述预设格式的终端设备为Dart VM。
3.根据权利要求1所述的应用程序的内存故障检测方法,其特征在于,所述预设格式的终端设备中的常驻内存数据包括图像数据和文字数据。
4.根据权利要求1所述的应用程序的内存故障检测方法,其特征在于,所述在所述常驻内存数据中筛选出图像数据,包括:
根据所述常驻内存数据内不同数据的分类类型,筛选出图像数据。
5.根据权利要求1所述的应用程序的内存故障检测方法,其特征在于,所述图像数据的唯一标识为所述图像数据的ID。
6.根据权利要求1所述的应用程序的内存故障检测方法,其特征在于,所述图像数据的详细信息包括所述图像数据占用的内存大小、引用所述图像数据的包package名称和代码位置、所述图像数据的类型、所述图像数据的尺寸、所述图像数据的来源。
7.一种应用程序的内存故障检测装置,其特征在于,所述装置包括:
第一获取单元,用于获取待检测的目标软件;并将所述目标软件运行在预设格式的终端设备内,以生成调试端口;
第二获取单元,用于服务器端通过所述调试端口与所述预设格式的终端设备建立通信连接;并获取所述预设格式的终端设备中的常驻内存数据;
筛选单元,用于在所述常驻内存数据中筛选出图像数据;
第三获取单元,用于根据所述图像数据的唯一标识,从所述预设格式的终端设备中获取所述图像数据的详细信息;并将所述详细信息进行展示;
检测单元,用于根据所述图像数据的详细信息,对所述目标软件的应用程序进行内存故障检测,得到检测结果。
8.根据权利要求7所述的应用程序的内存故障检测装置,其特征在于,所述筛选单元具体用于:
根据所述常驻内存数据内不同数据的分类类型,筛选出图像数据。
9.一种应用程序的内存故障检测设备,其特征在于,包括:处理器、存储器、***总线;
所述处理器以及所述存储器通过所述***总线相连;
所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行权利要求1-6任一项所述的方法。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-6任一项所述的方法。
CN202110779886.4A 2021-07-09 2021-07-09 一种应用程序的内存故障检测方法、装置及设备 Pending CN113434429A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110779886.4A CN113434429A (zh) 2021-07-09 2021-07-09 一种应用程序的内存故障检测方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110779886.4A CN113434429A (zh) 2021-07-09 2021-07-09 一种应用程序的内存故障检测方法、装置及设备

Publications (1)

Publication Number Publication Date
CN113434429A true CN113434429A (zh) 2021-09-24

Family

ID=77759939

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110779886.4A Pending CN113434429A (zh) 2021-07-09 2021-07-09 一种应用程序的内存故障检测方法、装置及设备

Country Status (1)

Country Link
CN (1) CN113434429A (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480035A (zh) * 2017-08-23 2017-12-15 广州优视网络科技有限公司 一种图片占用内存情况的查看方法
CN112181830A (zh) * 2020-09-28 2021-01-05 厦门美柚股份有限公司 内存泄露的检测方法、装置、终端及介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107480035A (zh) * 2017-08-23 2017-12-15 广州优视网络科技有限公司 一种图片占用内存情况的查看方法
CN112181830A (zh) * 2020-09-28 2021-01-05 厦门美柚股份有限公司 内存泄露的检测方法、装置、终端及介质

Similar Documents

Publication Publication Date Title
CN105787364B (zh) 任务的自动化测试方法、装置及***
CN107729255B (zh) 软件测试方法、装置及***
CN107357558B (zh) 构建代码的方法及装置
CN108459850B (zh) 生成测试脚本的方法、装置及***
CN109101410B (zh) 一种风险驱动测试方法和装置以及计算机可读存储介质
CN109558328B (zh) 一种代码覆盖率的测试方法、***、装置及可读存储介质
CN111522738A (zh) 微服务***的测试方法、装置、存储介质和电子设备
CN110059002B (zh) 测试数据的生成方法、测试设备、存储介质及装置
CN114064208A (zh) 检测应用服务状态的方法、装置、电子设备及存储介质
CN110955409A (zh) 在云平台上创建资源的方法和装置
CN110875858A (zh) 应用测试数据抓取方法、***、设备及存储介质
CN110727585B (zh) 内存泄漏检测方法、装置、电子设备及可读存储介质
CN110806965A (zh) 自动测试方法、装置、设备和介质
US11663113B2 (en) Real time fault localization using combinatorial test design techniques and test case priority selection
CN107621963B (zh) 一种软件部署方法、软件部署***及电子设备
CN109992511B (zh) 获取代码测试覆盖率的装置及方法
CN107193747B (zh) 代码测试方法、装置和计算机设备
CN111221721B (zh) 一种单元测试案例自动化录制和执行方法及装置
CN114265737A (zh) ***迁移完整度检测方法、装置及电子设备
CN113434429A (zh) 一种应用程序的内存故障检测方法、装置及设备
CN111538994A (zh) 一种***安全检测及修复方法、装置、存储介质及终端
CN110795341A (zh) 一种服务器的自动测试方法、***及装置
CN115373916A (zh) 异常检测方法、装置、电子设备及计算机可读存储介质
CN114356346A (zh) 应用程序部署方法、装置、存储介质以及电子设备
CN110866492A (zh) 一种基线分支的识别方法、装置及计算机***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination