应用程序调试方法、装置、设备和存储介质与流程

文档序号:32945406发布日期:2023-01-14 10:37阅读:22来源:国知局
应用程序调试方法、装置、设备和存储介质与流程

1.本技术涉及计算机技术领域,具体涉及一种应用程序调试方法、装置、设备和存储介质。


背景技术:

2.目前,随着互联网技术和数字化进程的发展,涌现出各种各样的应用程序来满足用户数字化办公和娱乐需求。而应用程序在开发测试上线后,若应用程序存在问题,需要开发排查定位问题时,现有的应用程序日志无法满足排查需要,现有的应用程序调试方法在调试过程中需要停止应用程序运行,重新修改项目源代码,并重新编译部署,导致调试费时且在调试过程中需要停止应用程序运行,导致应用业务停滞。


技术实现要素:

3.本技术实施例提供一种应用程序调试方法、装置、设备和存储介质,旨在解决现有技术中应用程序调试费时且需要停止应用运行的技术问题。
4.一方面,本技术实施例提供一种应用程序调试方法,所述应用程序调试方法包括以下步骤:
5.响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;
6.获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;
7.根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;
8.根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。
9.在本技术一种可能的实现方式中,所述获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序,包括:
10.获取所述目标应用标识对应的目标虚拟机,查询所述目标虚拟机中的加载类列表,获取所述调试类标识对应的目标调试类;
11.获取所述目标调试类的调试代码,以及所述目标调试类的目标调试方法和调试周期标识;
12.根据所述调试代码和所述调试周期标识对所述目标调试方法进行重定义,生成调试代理程序。
13.在本技术一种可能的实现方式中,所述根据所述调试代码和所述调试周期标识对所述目标调试方法进行重定义,生成调试代理程序,包括:
14.获取所述调试周期标识对应的代码注入策略;
15.根据所述代码注入策略对所述调试代码进行调整,得到所述目标调试方法对应的目标调试代码;
16.将所述目标调试代码注入所述目标调试方法,并根据所述目标调试代码对所述目标调试方法进行重定义,得到调试代理程序。
17.在本技术一种可能的实现方式中,所述根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序,包括:
18.根据所述虚拟机进程标识将所述调试代理程序导入所述目标虚拟机中的目标应用程序;
19.加载所述调试代理程序,根据所述调试代理程序中的调试代码对所述目标应用程序进行调试,得到调试后的目标应用程序。
20.在本技术一种可能的实现方式中,所述根据所述目标应用程序标识获取待调试的目标应用程序和所述目标应用程序对应的虚拟机进程标识,包括:
21.访问程序加载列表,获取所述程序加载列表中与所述目标应用程序标识对应的目标应用程序;
22.访问预设的虚拟机列表,获取所述虚拟机列表中与所述目标应用程序关联的目标虚拟机;
23.获取所述目标虚拟机中所述目标应用程序的虚拟机进程标识。
24.在本技术一种可能的实现方式中,所述获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,包括:
25.查询所述目标虚拟机中的加载类列表,获取所述调试类标识对应的目标调试类;
26.对所述目标调试类进行检测,生成所述目标调试类的检测结果信息;
27.访问预设的调试数据库,查询所述调试数据库中与所述检测结果信息对应的调试代码。
28.在本技术一种可能的实现方式中,所述根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序之后,还包括:
29.获取所述目标应用程序的原始运行日志和调试运行日志;
30.将所述原始运行日志和所述调试运行日志输入预设调试检测模型,得到调试核验结果;
31.输出与所述调试核验结果对应的调试核验信息,其中,所述调试核验信息包括调试成功信息和调试失败信息。
32.另一方面,本技术提供一种应用程序调试装置,所述应用程序调试装置包括:
33.标识获取模块,被配置为响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;
34.代码注入模块,被配置为获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;
35.程序获取模块,被配置为根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;
36.程序调试模块,被配置为根据所述虚拟机进程标识和所述调试代理程序对所述目
标应用程序进行调试,得到调试后的目标应用程序。
37.另一方面,本技术还提供一种应用程序调试设备,所述应用程序调试设备包括:
38.一个或多个处理器;
39.存储器;以及
40.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现所述的应用程序调试方法。
41.另一方面,本技术还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行所述的应用程序调试方法中的步骤。
42.本技术中通过响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。实现通过注入调试代码得到调试代理程序,通过调试代理程序对目标应用程序进行在线动态调试,提高调试效率,降低对业务运行连续性影响。
附图说明
43.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
44.图1为本技术实施例应用程序调试方法的场景示意图;
45.图2为本技术实施例中应用程序调试方法的一个实施例的流程示意图;
46.图3为本技术实施例所提供的应用程序调试方法中获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码的一个实施例的流程示意图;
47.图4为本技术实施例提供的应用程序调试方法中确定调试结果的一个实施例的流程示意图;
48.图5是本技术实施例中提供的应用程序调试装置的一个实施例结构示意图;
49.图6为本技术实施例中提供的应用程序调试设备的一个实施例结构示意图。
具体实施方式
50.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,
因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
52.在本技术中,“示例性”一词用来表示“用作例子、例证或说明”。本技术中被描述为“示例性”的任何实施例不一定被解释为比其它实施例更优选或更具优势。为了使本领域任何技术人员能够实现和使用本发明,给出了以下描述。在以下描述中,为了解释的目的而列出了细节。应当明白的是,本领域普通技术人员可以认识到,在不使用这些特定细节的情况下也可以实现本发明。在其它实例中,不会对公知的结构和过程进行详细阐述,以避免不必要的细节使本发明的描述变得晦涩。因此,本发明并非旨在限于所示的实施例,而是与符合本技术所公开的原理和特征的最广范围相一致。
53.目前,随着互联网技术和数字化进程的发展,涌现出各种各样的应用程序来满足用户数字化办公和娱乐需求。而应用程序在开发测试上线后,若应用程序存在问题,需要开发排查定位问题时,现有的应用程序日志无法满足排查需要,现有的应用程序调试方法在调试过程中需要停止应用程序运行,重新修改项目源代码,并重新编译部署,导致调试费时且在调试过程中需要停止应用程序运行,导致应用业务停滞。
54.基于此,本技术提出一种应用程序调试方法、装置、设备和计算机可读存储介质,以解决现有技术中应用程序调试费时且需要停止应用运行的技术问题。
55.本发明实施例中的应用程序调试方法应用于应用程序调试装置,应用程序调试装置设置于应用程序调试设备,应用程序调试设备中设置有一个或多个处理器、存储器,以及一个或多个应用程序,其中一个或多个应用程序被存储于存储器中,并被配置为由处理器执行以实施应用程序调试方法;其中,应用程序调试设备可以是智能终端,例如手机、平板电脑、智能电视、网络设备和智能电脑等;可选的,应用程序调试设备还可以是一台服务器,或者多台服务器组成的服务集群。
56.如图1所示,图1为本技术实施例应用程序调试方法的场景示意图,本发明实施例中应用程序调试场景包括多个应用程序调试设备100(应用程序调试设备100中集成有应用程序调试装置),应用程序调试设备100中运行有应用程序调试方法对应的计算机可读存储介质,以执行应用程序调试方法的步骤。
57.可以理解的是,图1所示应用程序调试方法场景中的应用程序调试设备,或者应用程序调试设备中包含的装置并不构成对本发明实施例的限制,即应用程序调试方法的场景中包含的应用程序调试设备的设备数量、设备种类,或者各个设备中包含的装置数、装置种类不影响本发明实施例中技术方案的整体实现,均可以算作本发明实施例要求保护技术方案的等效替换或者衍生。
58.本发明实施例中应用程序调试设备100主要用于:响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;根据所述目标应用程序标识获取待调试的目标应用程序,和以及所述目标应用程序对应的虚拟机进程标识;根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。
59.本发明实施例中的应用程序调试设备100可以是多个独立的应用程序调试设备,例如手机、平板电脑、智能电视、网络设备、服务器和智能电脑等智能终端,也可以是由多个应用程序调试设备组成的应用程序调试网络或应用程序调试集群。
60.本技术实施例提供一种我应用程序调试方法、装置、设备和计算机可读存储介质,以下分别进行详细说明。
61.本领域技术人员可以理解的是,图1中所示出的应用环境,仅仅是与本技术方案相关的其中一种应用场景,并不构成对本技术方案应用场景的限定,其它的应用环境还可以包括比图1所示出的更多或更少的应用程序调试设备,或者应用程序调试网络连接关系,例如图1中仅示出一个应用程序调试设备,可以理解的是该应用程序调试方法的场景还可以包括一个或多个应用程序调试设备,具体在此不做限定;该应用程序调试设备100种还可以包括存储器,用于存储调试代码和其它数据。
62.需要说明的是,图1所示的应用程序调试方法的场景示意图仅仅是一个示例,本发明实施例描述的应用程序调试方法的场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对本发明实施例提供的技术方案的限定。
63.基于上述应用程序调试方法的场景,提出本发明所公开的应用程序调试方法的各个实施例。
64.如图2所示,图2为本技术实施例中应用程序调试方法的一个实施例的流程示意图,该应用程序调试方法包括如下步骤201
ˉ
步骤204:
65.201、响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;
66.本实施例中的应用程序调试方法应用于应用程序调试设备,应用程序调试设备的种类和数量不做具体限定,即,应用程序调试设备可以是一个或多个智能终端,在一个具体实施例中,应用程序调试设备为智能电脑。
67.具体的,该应用程序调试设备被配置为响应应用调试请求,获取目标应用程序和目标调试类,以及该目标调试类对应的调试代码,将该调试代码注入到该目标调试类中进行重定义,得到调试代理程序,并根据该调试代理程序对目标应用程序进行在线动态调试,从而对该目标应用程序进行问题排查。
68.具体的,应用程序调试设备在运行过程中,接收应用程序调试请求,其中,该应用程序调试请求为驱动该应用程序调试设备对目标应用程序进行调试的操作指令。可选的,该应用程序调试请求的触发方式在此不做具体限定,即,应用程序调试请求可以为用户主动触发的,例如,用户为应用程序调试人员,在确定目标应用程序需要进行调试时,通过点击应用程序调试设备的调试按钮,主动触发应用程序调试请求。此外,应用程序调试请求还可以由应用程序调试设备自动触发,例如,应用程序调试设备预先设置了自动调试进程,在检测到目标应用程序存在问题需要调试时,自动触发应用程序调试请求。
69.具体的,应用程序调试设备在接收到该应用程序调试请求之前,还预先对各应用程序进行部署,在预设服务器中部署运行对应的应用程序。具体的,应用程序设备访问预设的源代码仓库,根据项目git地址获取指定项目源码,并对该项目源码进行编译,得到项目源码压缩包,并在对应的服务器或虚拟机上部署该项目源码压缩包,以将各业务项目的应用程序编译部署到指定的服务器或虚拟机中。
70.具体的,应用程序调试设备在接收到该应用程序调试请求之后,对该应用程序调试请求进行解析,从而获取该应用程序调试请求中携带的目标应用程序标识和调试类标识,其中,该目标应用程序标识为表征待调试的应用程序的唯一名称、编号、图标或其它类型标识。调试类标识为表征该应用程序中需要进行调试的类名称、编号、参数或其它类型标识。
71.具体的,应用程序调试设备在获取到应用程序调试请求后,将该应用程序调试设备输入到预设的文本识别模型,通过该文本识别模型对该应用程序调试请求进行文本解析,从而得到该应用程序调试请求中携带的目标应用程序标识和调试类标识。
72.202、获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;
73.应用程序调试设备在获取到目标应用程序标识和调试类标识后,根据该调试类标识对加载类进行筛选,从而获取到该调试类标识对应的目标调试类,以及该目标调试类对应的调试代码,并根据该调试代码对目标调试类进行重定义,从而得到调试代理程序。
74.具体的,应用程序调试设备获取到目标应用程序标识后,访问应用程序调试设备中的各虚拟机,确定运行该目标应用程序的虚拟机,确定该虚拟机为目标应用标识对应的目标虚拟机。
75.应用程序调试设备在获取到目标应用标识对应的目标虚拟机后,获取该目标虚拟机中的加载类列表,并遍历该加载类列表,将该调试类标识和加载类列表中每个加载类的加载类标识进行对比,从而得到该调试类标识对应的目标调试类。其中,该目标调试类为加载类标识与该调试类标识相匹配的加载类。
76.应用程序调试设备在获取到该目标调试类后,还获取该目标调试类的调试代码,并读取该调试代码中的调试方法参数和调试周期标识,从而根据该调试方法参数和调试周期标识确定待注入代码的目标调试方法。其中,调试周期标识为表征目标调试方法中待注入代码阶段的标识。可选的,在一个实施例中,调试周期标识包括方法起始标识、方法结束标识、方法目标行标识。
77.应用程序调试设备在获取到调试代码和调试周期标识后,根据该调试代码和调试周期标识对该目标调试方法进行重定义,生成调试代理程序。
78.具体的,应用程序调试设备在获取调试周期标识后,获取该调试周期标识对应的代码注入策略。其中,不同调试周期标识对应的代码注入策略不同。
79.具体的,应用程序调试设备根据获取到的代码注入策略对调试代码进行调整,从而得到目标调试方法所对应的目标调试代码。应用程序调试设备在解析调试周期标识后,确定目标调试方法中的待注入阶段,并根据该待注入阶段选择对应的代码注入策略,不同代码注入策略对应不同的注入代码。例如,方法起始标识对应的代码注入策略所对应的注入代码为insertbefor;方法结束标识对应的代码注入策略所对应的注入代码为insertafter;方法目标行标识对应的代码注入策略所对应的注入代码为insertat。
80.应用程序调试设备在获取到代码注入策略和对应的注入代码后,通过对注入代码和调试代码进行调整,从而组合得到目标调试方法所对应的目标调试代码。应用程序调试设备在获取到目标调试代码后,将目标调试代码注入到该目标调试方法,根据该目标调试代码对该目标调试方法进行重定义,从而得到调试代理程序。
81.203、根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;
82.应用程序调试设备在获取到目标应用程序标识后,访问程序加载列表,通过目标应用程序标识查询该程序加载列表中的应用程序,从而获取程序标识与该目标应用程序标识相同的目标应用程序。
83.应用程序调试设备在获取目标应用程序后,还查询预设的虚拟机列表,获取虚拟机列表中该目标应用程序关联的目标虚拟机,其中,目标虚拟机为运行该目标应用程序的虚拟机实例。
84.应用程序调试设备在获取目标应用程序和目标虚拟机后,获取该目标虚拟机的虚拟机进程标识列表,获取该虚拟机进程标识列表中与该目标应用程序相对于的虚拟机进程标识。
85.204、根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。
86.应用程序调试设备在获取调试代理程序和虚拟机进程标识后,根据该虚拟机进程标识和调试代理程序对该目标应用程序进行调试,从而得到调试后的目标应用程序。
87.具体的,应用程序调试设备根据该虚拟机进程标识将该调试代理程序导入到该目标虚拟机中,并将该调试代理程序加载到该目标应用程序,并在目标应用程序中配置加载该调试代理程序,从而通过调试代理程序中的调试代码对该目标应用程序进行调试,从而得到调试后的目标应用程序。
88.应用程序调试设备在通过该调试代理程序对目标应用程序进行调试完成后,分离该调试代理程序,并将该调试代理程序编译为调试代理压缩包。
89.应用程序调试设备获取该目标应用程序的目标服务器,在该目标服务器部署该调试代理压缩包,实现对该目标应用程序进行在线调试。其中,该目标服务器为部署该目标应用程序的服务器。
90.本实施例中,应用程序调试设备通过响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。实现通过注入调试代码得到调试代理程序,通过调试代理程序对目标应用程序进行在线动态调试,提高调试效率,降低对业务运行连续性影响。
91.如图3所示,图3为本技术实施例所提供的应用程序调试方法中获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码的一个实施例的流程示意图,具体的,包括步骤301
ˉ
步骤303:
92.301、查询所述目标虚拟机中的加载类列表,获取所述调试类标识对应的目标调试类;
93.302、对所述目标调试类进行检测,生成所述目标调试类的检测结果信息;
94.303、访问预设的调试数据库,查询所述调试数据库中与所述检测结果信息对应的
调试代码。
95.本实施例中,应用程序调试设备还预设了调试代码进程来获取目标调试类的调试代码,并通过该调试代码生成调试代理程序,根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。
96.具体的,应用程序调试设备在获取到目标应用标识对应的目标虚拟机后,获取该目标虚拟机中的加载类列表,并遍历该加载类列表,将该调试类标识和加载类列表中每个加载类的加载类标识进行对比,从而得到该调试类标识对应的目标调试类。
97.应用程序调试设备在获取到该目标调试类后,对该目标调试类进行故障检测,获取该目标调试类的调试类参数,并将该调试类参数和预设的目标类参数进行比较,从而得到该目标调试类的检测结果信息。
98.具体的,应用程序调试设备对调试类参数进行编码,得到调试类特征,并计算调试类特征和目标类参数的目标类特征的余弦相似度,并将该余弦相似度和预设的相似度阈值进行比较,若该余弦相似度高于该相似度阈值,则确定该调试类参数和该目标类参数相同;若该余弦相似度低于该相似度阈值,则确定该调试类参数和该目标类参数不同,确定该调试类参数为异常调试类参数。
99.具体的,若该目标调试类存在异常调试类参数后,应用程序调试设备根据该异常调试类参数所对应的检测结果信息,并生成该检测结果信息对应的调试代码。其中,该检测结果信息包括异常调试类参数和待调试代码行。
100.具体的,应用程序调试设备访问预设的调试数据库,将异常调试类参数输入该调试数据库,查询该调试数据库中与该检测结果所对应的调试代码,从而得到该目标调试类的调试代码。
101.具体的,应用程序调试设备在获取到该目标调试类的调试代码后,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序,并通过该调试代理程序对目标应用程序进行在线调试,从而实现对目标应用程序进行动态调试。
102.本实施例中,应用调试设备通过查询所述目标虚拟机中的加载类列表,获取所述调试类标识对应的目标调试类;对所述目标调试类进行故障检测,生成所述目标调试类的检测结果信息;访问预设的调试数据库,查询所述调试数据库中与所述检测结果信息对应的调试代码。实现准确获取目标调试类的调试代码。
103.如图4所示,图4为本技术实施例提供的应用程序调试方法中确定调试结果的一个实施例的流程示意图,具体的,包括步骤401
ˉ
步骤403:
104.401、获取所述目标应用程序的原始运行日志和调试运行日志;
105.402、将所述原始运行日志和所述调试运行日志输入预设调试检测模型,得到调试核验结果;
106.403、输出与所述调试核验结果对应的调试核验信息,其中,所述调试核验信息包括调试成功信息和调试失败信息。
107.本实施例中,应用程序调试设备在通过虚拟机进程标识和调试代理程序对目标应用程序进行调试,得到调试后的目标应用程序之后,还获取目标应用程序的原始运行日志和调试运行日志,并通过原始运行日志和调试运行日志确定目标应用程序的调试核验结果。
108.具体的,应用程序调试设备所生成的调试代码还包括日志输出代码和应用监控代码,应用程序调试设备通过应用监控代码和日志输出代码获取调试运行日志。
109.具体的,应用程序调试设备还预先设置了调试检测模型,通过该调试检测模型来对识别原始运行日志和调试运行日志,并输出调试核验结果。应用程序调试设备在获取原始运行日志和调试运行日志后,将该原始运行日志和调试运行日志输入该调试检测模型,通过该调试检测模型对该原始运行日志和调试运行日志进行调试核验,从而得到调试核验结果。
110.具体的,应用程序调试设备通过调试检测模型对原始运行日志和调试运行日志进行检测,从而获取调试信息,并将该调试信息和目标信息进行比较,若调试信息与目标信息相同,则得到调试成功的调试核验结果;若该调试信息和目标信息不同,则输出调试失败的调试核验结果。
111.应用程序调试设备在根据原始运行日志和调试运行日志得到调试核验结果后,输出与该调试核验结果对应的调试核验信息,其中,调试核验信息包括调试成功信息或调试失败信息中的任意一种。
112.本实施例中,应用程序调试设备通过获取所述目标应用程序的原始运行日志和调试运行日志;将所述原始运行日志和所述调试运行日志输入预设调试检测模型,得到调试核验结果;输出与所述调试核验结果对应的调试核验信息,其中,所述调试核验信息包括调试成功信息和调试失败信息。实现提高应用程序调试的准确性。
113.为了更好实施本技术实施例中应用程序调试方法,在应用程序调试方法基础之上,本技术实施例中还提供一种应用程序调试装置,如图5所示,图5是本技术实施例中的应用程序调试装置的一个实施例结构示意图,所述应用程序调试装置500包括:
114.标识获取模块501,被配置为响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;
115.代码注入模块502,被配置为获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;
116.程序获取模块503,被配置为根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;
117.程序调试模块504,被配置为根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。
118.在本技术一些实施例中,应用程序调试装置500获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序,包括:
119.获取所述目标应用标识对应的目标虚拟机,查询所述目标虚拟机中的加载类列表,获取所述调试类标识对应的目标调试类;
120.获取所述目标调试类的调试代码,以及所述目标调试类的目标调试方法和调试周期标识;
121.根据所述调试代码和所述调试周期标识对所述目标调试方法进行重定义,生成调试代理程序。
122.在本技术一些实施例中,应用程序调试装置500根据所述调试代码和所述调试周期标识对所述目标调试方法进行重定义,生成调试代理程序,包括:
123.获取所述调试周期标识对应的代码注入策略;
124.根据所述代码注入策略对所述调试代码进行调整,得到所述目标调试方法对应的目标调试代码;
125.将所述目标调试代码注入所述目标调试方法,并根据所述目标调试代码对所述目标调试方法进行重定义,得到调试代理程序。
126.在本技术一些实施例中,应用程序调试装置500根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序,包括:
127.根据所述虚拟机进程标识将所述调试代理程序导入所述目标虚拟机中的目标应用程序;
128.加载所述调试代理程序,根据所述调试代理程序中的调试代码对所述目标应用程序进行调试,得到调试后的目标应用程序。
129.在本技术一些实施例中,应用程序调试装置500根据所述目标应用程序标识获取待调试的目标应用程序和所述目标应用程序对应的虚拟机进程标识,包括:
130.访问程序加载列表,获取所述程序加载列表中与所述目标应用程序标识对应的目标应用程序;
131.访问预设的虚拟机列表,获取所述虚拟机列表中与所述目标应用程序关联的目标虚拟机;
132.获取所述目标虚拟机中所述目标应用程序的虚拟机进程标识。
133.在本技术一些实施例中,应用程序调试装置500获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,包括:
134.查询所述目标虚拟机中的加载类列表,获取所述调试类标识对应的目标调试类;
135.对所述目标调试类进行检测,生成所述目标调试类的检测结果信息;
136.访问预设的调试数据库,查询所述调试数据库中与所述检测结果信息对应的调试代码。
137.在本技术一些实施例中,应用程序调试装置500根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序之后,还包括:
138.获取所述目标应用程序的原始运行日志和调试运行日志;
139.将所述原始运行日志和所述调试运行日志输入预设调试检测模型,得到调试核验结果;
140.输出与所述调试核验结果对应的调试核验信息,其中,所述调试核验信息包括调试成功信息和调试失败信息。
141.本发明实施例还提供一种应用程序调试设备,如图6所示,图6为本技术实施例中提供的应用程序调试设备的一个实施例结构示意图。
142.应用程序调试设备集成了本发明实施例所提供的任意一种应用程序调试装置,该应用程序调试设备包括:
143.一个或多个处理器;
144.存储器;以及
145.一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行上述应用程序调试方法实施例中任一实施例中所述的应用程序调试方法中的步骤。
146.具体来讲:应用程序调试设备可以包括一个或者一个以上处理核心的处理器601、一个或一个以上计算机可读存储介质的存储器602、电源603和输入单元604等部件。本领域技术人员可以理解,图6中示出的应用程序调试设备结构并不构成对应用程序调试设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
147.处理器601是该应用程序调试设备的控制中心,利用各种接口和线路连接整个应用程序调试设备的各个部分,通过运行或执行存储在存储器602内的软件程序和/或模块,以及调用存储在存储器602内的数据,执行应用程序调试设备的各种功能和处理数据,从而对应用程序调试设备进行整体监控。可选的,处理器601可包括一个或多个处理核心;优选的,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。
148.存储器602可用于存储软件程序以及模块,处理器601通过运行存储在存储器602的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器602可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据应用程序调试设备的使用所创建的数据等。此外,存储器602可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器602还可以包括存储器控制器,以提供处理器601对存储器602的访问。
149.应用程序调试设备还包括给各个部件供电的电源603,优选的,电源603可以通过电源管理系统与处理器601逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源603还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
150.该应用程序调试设备还可包括输入单元604,该输入单元604可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
151.尽管未示出,应用程序调试设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,应用程序调试设备中的处理器601会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器602中,并由处理器601来运行存储在存储器602中的应用程序,从而实现各种功能,如下:
152.响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;
153.获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;
154.根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;
155.根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得
到调试后的目标应用程序。
156.为此,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质可以包括:只读存储器(rom,read on ly memory)、随机存取记忆体(ram,random access memory)、磁盘或光盘等。其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行本发明实施例所提供的任一种应用程序调试方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
157.响应应用程序调试请求,获取所述应用程序调试请求的目标应用程序标识和调试类标识;
158.获取所述调试类标识对应的目标调试类,以及所述目标调试类对应的调试代码,根据所述调试代码对所述目标调试类进行重定义,得到调试代理程序;
159.根据所述目标应用程序标识获取待调试的目标应用程序,以及所述目标应用程序对应的虚拟机进程标识;
160.根据所述虚拟机进程标识和所述调试代理程序对所述目标应用程序进行调试,得到调试后的目标应用程序。
161.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对其他实施例的详细描述,此处不再赘述。
162.具体实施时,以上各个单元或结构可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元或结构的具体实施可参见前面的方法实施例,在此不再赘述。
163.以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
164.以上对本技术实施例所提供的一种应用程序调试方法进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1