CN105808399A - 一种远程调试的方法和装置 - Google Patents

一种远程调试的方法和装置 Download PDF

Info

Publication number
CN105808399A
CN105808399A CN201610143226.6A CN201610143226A CN105808399A CN 105808399 A CN105808399 A CN 105808399A CN 201610143226 A CN201610143226 A CN 201610143226A CN 105808399 A CN105808399 A CN 105808399A
Authority
CN
China
Prior art keywords
destination client
place
client terminal
order
connection
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
CN201610143226.6A
Other languages
English (en)
Other versions
CN105808399B (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 Baidu Netcom Science and Technology Co Ltd
Original Assignee
Beijing Baidu Netcom Science and 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 Baidu Netcom Science and Technology Co Ltd filed Critical Beijing Baidu Netcom Science and Technology Co Ltd
Priority to CN201610143226.6A priority Critical patent/CN105808399B/zh
Publication of CN105808399A publication Critical patent/CN105808399A/zh
Application granted granted Critical
Publication of CN105808399B publication Critical patent/CN105808399B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2294Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by remote test

Landscapes

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

Abstract

本发明提供了一种远程调试的方法和装置,其中方法包括:调试端确定目标客户端所在终端;建立所述调试端与所述目标客户端所在终端之间的连接;通过所述连接向所述目标客户端所在终端发送反射命令,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;通过所述连接接收所述目标客户端所在终端返回的所述反射命令的执行结果。本发明能够使得调试端获取出现问题的客户端的使用场景信息,从而实现问题的准确定位。

Description

一种远程调试的方法和装置
【技术领域】
本发明涉及计算机应用技术领域,特别涉及一种远程调试的方法和装置。
【背景技术】
移动端的客户端在发布之后,用户在使用过程中不可避免的会出现一些问题,有的问题定位起来非常困难,可能由特定的条件触发或者移动端设备处于一种特殊的状态。开发测试人员很难得知上述情况,即很难定位到问题的使用场景信息。
针对上述问题,现有技术中的一种方式是联系出现问题的用户,单独向移动端发送debug(调试)程序,收集客户端的运行日志。但这种方式一方面较难联系用户,另一方面用户的配合度可能也较低。
现有技术中的另一种方式是开发测试人员用测试设备模拟问题,但往往客户端出现的各种各样的问题很难完全复现。
【发明内容】
有鉴于此,本发明提供了一种远程调试的方法和装置,以便于对客户端出现的问题进行准确定位。
具体技术方案如下:
本发明提供了一种远程调试的方法,该方法包括:
调试端确定目标客户端所在终端;
建立所述调试端与所述目标客户端所在终端之间的连接;
通过所述连接向所述目标客户端所在终端发送反射命令,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;
通过所述连接接收所述目标客户端所在终端返回的所述反射命令的执行结果。
根据本发明一优选实施方式,所述调试端确定目标客户端所在终端包括:
从向用户提供的反馈入口页面,获取出现问题的目标客户端所在终端的信息;或者,
从服务端的应用日志中,获取出现问题的目标客户端所在终端的信息。
根据本发明一优选实施方式,建立所述调试端与所述目标客户端所在终端之间的连接包括:
所述调试端建立与服务器之间的长连接;
所述服务器依据所述调试端发送的所述目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的长连接。
根据本发明一优选实施方式,所述调试端建立与服务器之间的长连接包括:
所述调试端从可进行长连接的服务器IP地址列表中,选择最优服务器的IP地址作为长连接目的地址来建立长连接。
根据本发明一优选实施方式,向所述目标客户端所在终端发送反射命令包括:
依据所述目标客户端所在终端的版本号对应的混淆映射文件,将所述反射命令翻译为混淆命令,向所述目标客户端所在终端发送所述混淆命令。
根据本发明一优选实施方式,该方法还包括:
调试端通过所述连接向所述目标客户端所在终端发送监听命令,所述监听命令指示所述目标客户端所在终端监听到所述目标客户端执行指定命令时返回通知消息。
根据本发明一优选实施方式,所述调试端接收到所述目标客户端所在终端的通知消息后,执行通过所述连接向所述目标客户端所在终端发送反射命令的步骤。
本发明还提供了一种远程调试的方法,该方法包括:
服务器建立与调试端之间的连接,并依据所述调试端发送的目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的连接;
将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;
将所述目标客户端所在终端返回的所述反射命令的执行结果转发给所述调试端。
根据本发明一优选实施方式,该方法还包括:
所述服务端接收到所述反射命令后,判断发送所述反射命令的调试端是否为合法用户,如果是,则执行所述将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端;否则,进行转发所述反射命令。
根据本发明一优选实施方式,该方法还包括:
所述服务端记录转发的反射命令和执行结果,以供查询。
本发明还提供了一种远程调试的方法,该方法包括:
目标客户端所在终端建立与调试端之间的连接;
通过所述连接接收所述调试端发送的反射命令;
执行所述反射命令,以执行指定方法,设置指定变量,或者获取指定变量或文件;
通过所述连接向所述调试端返回所述反射命令的执行结果。
根据本发明一优选实施方式,所述目标客户端所在终端建立与调试端之间的连接包括:
所述目标客户端与已与所述调试端建立长连接的服务器之间建立长连接。
根据本发明一优选实施方式,在执行所述反射命令之前,还包括:
判断所述反射命令的操作类型是否属于预设的危险操作类型,或者所述反射命令获取的信息类型是否属于预设的隐私信息类型,如果是,则禁止执行所述反射命令;否则,执行所述反射命令。
根据本发明一优选实施方式,该方法还包括:
所述目标客户端所在终端通过所述连接接收所述调试端发送的监听命令;
依据所述监听命令,监听到所述目标客户端执行指定命令时,通过所述连接向所述调试端返回通知消息。
本发明提供了一种远程调试的装置,设置于调试端,该装置包括:
目标确定单元,用于确定目标客户端所在终端;
连接建立单元,用于建立所述调试端与所述目标客户端所在终端之间的连接;
命令发送单元,用于通过所述连接向所述目标客户端所在终端发送反射命令,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;
结果接收单元,用于通过所述连接接收所述目标客户端所在终端返回的所述反射命令的执行结果。
根据本发明一优选实施方式,所述目标确定单元,具体用于从向用户提供的反馈入口页面,获取出现问题的目标客户端所在终端的信息;或者,
从服务端的应用日志中,获取出现问题的目标客户端所在终端的信息。
根据本发明一优选实施方式,所述连接建立单元,具体用于建立与服务器之间的长连接;
所述服务器依据所述调试端发送的所述目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的长连接。
根据本发明一优选实施方式,所述连接建立单元从可进行长连接的服务器IP地址列表中,选择最优服务器的IP地址作为长连接目的地址来建立长连接。
根据本发明一优选实施方式,所述命令发送单元,具体用于依据所述目标客户端所在终端的版本号对应的混淆映射文件,将所述反射命令翻译为混淆命令,向所述目标客户端所在终端发送所述混淆命令。
根据本发明一优选实施方式,所述命令发送单元,还用于通过所述连接向所述目标客户端所在终端发送监听命令,所述监听命令指示所述目标客户端所在终端监听到所述目标客户端执行指定命令时返回通知消息。
根据本发明一优选实施方式,所述结果接收单元,还用于接收到所述目标客户端所在终端的通知消息后,触发所述命令发送单元执行通过所述连接向所述目标客户端所在终端发送反射命令的步骤。
本发明还提供了一种远程调试的装置,设置于服务器,该装置包括:
连接建立单元,用于建立所述服务器与调试端之间的连接,并依据所述调试端发送的目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的连接;
转发处理单元,用于将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;将所述目标客户端所在终端返回的所述反射命令的执行结果转发给所述调试端。
根据本发明一优选实施方式,该装置还包括:
用户筛选单元,用于判断发送所述反射命令的调试端是否为合法用户,如果是,则触发所述转发处理单元将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端;否则,禁止所述转发处理单元转发所述反射命令。
根据本发明一优选实施方式,该装置还包括:
记录维护单元,用于记录所述转发处理单元转发的反射命令和执行结果,以供查询。
本发明还提供了一种远程调试的装置,设置于目标客户端所在终端,该装置包括:
连接建立单元,用于建立所述目标客户端所在终端与调试端之间的连接;
命令接收单元,用于通过所述连接接收所述调试端发送的反射命令;
命令执行单元,用于执行所述反射命令,以执行指定方法,设置指定变量,或者获取指定变量或文件;
结果返回单元,用于通过所述连接向所述调试端返回所述反射命令的执行结果。
根据本发明一优选实施方式,所述连接建立单元,具体用于与已与所述调试端建立长连接的服务器之间建立长连接。
根据本发明一优选实施方式,该装置还包括:
执行过滤单元,用于判断所述反射命令的操作类型是否属于预设的危险操作类型,或者所述反射命令获取的信息类型是否属于预设的隐私信息类型,如果是,则禁止所述命令执行单元执行所述反射命令;否则,触发所述命令执行单元执行所述反射命令。
根据本发明一优选实施方式,所述命令接收单元,还用于通过所述连接接收所述调试端发送的监听命令;
所述命令执行单元,还用于依据所述监听命令,监听到所述目标客户端执行指定命令时,触发所述结果返回单元通过所述连接向所述调试端返回通知消息。
由以上技术方案可以看出,本发明通过在调试端与目标客户端所在终端之间的连接,调试端向目标客户端所在终端发送反射命令,使得目标客户端所在终端能够反射执行,以执行指定方法、设置指定变量、或者获取指定变量或文件,并向调试端返回执行结果,从而使得调试端能够获取出现问题的客户端的使用场景信息,实现问题的准确定位。
【附图说明】
图1为本发明实施例提供的***架构图;
图2为本发明实施例提供的方法流程图;
图3为本发明实施例提供的设置于调试端的装置结构图;
图4为本发明实施例提供的设置于服务器的装置结构图;
图5为本发明实施例提供的设置于目标客户端所在终端的装置结构图。
【具体实施方式】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。
在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
首先对本发明所基于的***架构进行简单介绍,如图1中所示,该***可以包括调试端、服务器和目标客户端所在终端。其中调试端可以位于任意的终端设备,例如手机、平板电脑、笔记本电脑、PDA(个人数字助理)等移动终端设备,也可以是诸如PC等固定终端设备。服务器可以是一台服务器,也可以是由多台服务器构成的服务器群组。目标客户端所在终端同样可以是例如手机、平板电脑、笔记本电脑、PDA(个人数字助理)等移动终端设备,也可以是诸如PC等固定终端设备。
其中调试端的主要功能如下:
1)确定目标客户端所在终端,即出现问题的客户端所在终端。
2)建立调试端与目标客户端所在终端之间的连接。
3)通过上述连接向目标客户端所在终端发送反射命令,该反射命令用于被目标客户端所在终端反射执行。
4)通过上述连接接收目标客户端所在终端返回的反射命令的执行结果。
服务器的主要功能如下:
1)分别建立与调试端和目标客户端所在终端的连接。
2)在调试端与目标客户端之间进行反射命令的转发,以及进行反射命令的执行结果的转发。
3)对发送反射命令的调试端进行身份的限制。
4)记录转发的反射命令和执行结果,以供查询。
目标客户端所在终端的主要功能如下:
1)建立与调试端之间的连接。
2)通过上述连接接收调试端发送的反射命令。
3)对反射命令进行操作类型和所获取信息类型的限制。
4)执行反射命令。
5)通过上述连接返回发射命令的执行结果。
图2为本发明实施例提供的方法流程图,如图2中所示,该方法可以具体包括以下步骤:
在201中,调试端确定目标客户端所在终端。
本步骤实际上是调试端对出现问题的客户端进行定位,可以采用但不限于以下两种方式:
第一种方式:从向用户提供的反馈入口页面,获取出现问题的目标客户端所在终端的信息。在本发明实施例中,可以向客户端的所有用户提供反馈入口页面,也就是说,提供一个专门的页面作为入口,使用该客户端的用户可以针对客户端出现的问题在该页面上进行交流和留言,诸如提供客户端出现的问题、时间、终端类型等等。调试端就可以从该反馈入口页面上确定出现问题的客户端作为目标客户端,再依据用户进行交流和留言时使用的IP地址等终端信息,就可以获取目标客户端所在终端的信息。
第二种方式:从服务端的应用日志中,获取出现问题的目标客户端所在终端的信息。
通常,在服务端会在应用日志中对客户端的使用状况进行记录,通常应用日志中可以包括诸如客户端的运行状态变化、客户端对外部***或模块的调用、业务异常信息、非预期执行信息,等等。通过应用日志就可以找到一些出现问题的客户端,将出现问题的客户端作为目标客户端。
其中对于出现问题的客户端的识别,可以通过人工方式实现,也可以自动实现。若调试端自动实现,则可以采用诸如关键字匹配的方式,例如通常在应用日志中关键字“rom_size”标识rom溢出,关键字“image_fail”标识图片下载失败、关键字“net_fail”标识网络连接失败等,若出现这些关键字,则可以定位到出现问题的客户端。
在202中,调试端通过服务器建立与目标客户端所在终端之间的长连接。
在本步骤中,调试端首先建立与服务器之间的长连接,其中服务器为长连接服务器。然后服务器可以依据调试端发送的目标客户端所在终端的信息,与目标客户端所在终端建立长连接。这样就建立起了一个以长连接服务器为中介的调试端与目标客户端所在终端之间的长连接。
在本发明并不限制长连接的具体类型。另外,对于长连接本身所具有的一些诸如进程守护策略、网络状态变化监听、长连接连接失败重试策略等,在本发明同样适用,在此不做具体限制。
另外,为了防止域名劫持或者保证处理速度,调试端可以从长连接服务器IP地址列表中,选择最优服务器的IP地址作为长连接目的地址来建立长连接。其中最优服务器可以是基于负载均衡策略的负担最小的服务器,也可以是连接速度最快的服务器等。
在203中,调试端通过长连接向目标客户端所在终端发送反射命令。
其中反射命令是用于被目标客户端所在终端反射执行的,从而执行指定方法,或者获取指定变量的值或文件。其目的是将反射命令发送给目标客户端后,目标客户端能够将反射命令进行反射执行并返回执行结果,让开发测试人员知晓客户端的运行环境特殊在什么地方,是什么引起了问题。
该反射命令可以由开发测试人员输入调试端,由调试端进行发送。例如开发测试人员按照特定的格式输入反射命令。或者,也可以预先配置于调试端,例如可以针对不同的问题类型配置与其对应的反射命令,当通过特定的反馈入口页面或者从应用日志中确定出现问题的目标客户端后,可以向该目标客户端所在终端发送与问题相对应的反射命令。
反射命令的格式定义可以与目标客户端所在终端的操作***开发语言相关,目标客户端所在终端的操作***类型可以在长连接建立过程中获取到。Android的格式类似java的语言,其反射库是java.lang.reflect包。IOS的格式类似Object-C的语言,其反射库与runtime.h相关。反射命令的格式以能够被目标客户端所在终端反射执行和足够简单为标准。
举一种反射命令的格式例子:
CommandType-configCommandContent
其中CommandType表示反射命令的类型,config表示可选参数,CommandContent表示命令内容。
具体地,对于Android操作***而言,可以进行以下定义:以“#”字符结束代表类名的结束,之前的字符串会当做java中包名+类名来找对应的类,后面的按照java的语法,通过“.”字符进行方法调用和变量获取,通过“()”进行方法调用,其中的参数通过“,”进行分割,每个参数都可以当做一个单独的命令进行执行。最后按照调用顺序从类名开始调用,将结果得到后传到下一段递归执行,最后得到结果。
对于IOS操作***而言,可以进行以下定义:以“[]”作为访问调用的开始和结束,以“:”作为方法的变量的输入,以空格字符作为方法变量之间的分隔符。按照调用顺序从类名开始调用,将结果得到后传到下一段递归执行,最后得到结果。
其中寄存器部分较为特殊,在反射命令的执行操作***中会预留32个寄存器变量位置,供调试端临时存储某些值使用。以“$+寄存器号”作为特殊标识,通过set命令设置,通过get/exe命令调用。
命令类型可以包括以下几种:
1)执行某个方法,或者获取某个变量的值。
例如:
针对Android操作***而言,可以采用反射命令:
get/execom.***.tieba.a#a.c()
表示执行类名为com.***.tieba.a的方法a.c()。
针对IOS操作***而言,可以采用反射命令:
get/exe[[TBCManagersharedInstance]length]
表示执行类名为TBCManagersharedInstance的方法length。
2)设置某个变量。
针对Android操作***而言,可以采用反射命令:
setcom.***.tieba.a#c=com.***.tieba.c#a()
表示将类名为com.***.tieba.c的方法a()的执行结果设置为变量c的值。
针对IOS操作***而言,可以采用反射命令:
set[TBCManagersharedInstance].a=xxx
表示将xxx设置为类名为TBCManagersharedInstance的变量a的值。
3)新建一个变量赋值给寄存器。
针对Android操作***而言,可以采用反射命令:
set$1=com.***.tieba.c#a()
表示将类名为com.***.tieba.c的方法a()的值赋值给寄存器1。
针对IOS操作***而言,可以采用反射命令:
set$1=[TBCManagersharedInstance].a
表示将类名为TBCManagersharedInstance的变量a的值赋值给寄存器1。
这种反射命令可以用于将某些临时的变量放在寄存器中暂存起来,以便后续调试时使用。
4)上传文件命令。
例如,可以采用反射命令:
upload–x/data/data/com.***.tieba/files/x.txt
表示上传文件类型为x且类名为com.***.tieba的文件x.txt。
其中,-x可以取以下值:-s代表配置文件,-d代表数据库文件,-f代表普通文件。
5)显示信息的命令
例如,可以采用反射命令:
show–y/abc
表示采用y的方式显示abc。
其中,-y可以取以下值:-s标识显示时间较短,-l标识显示时间较长。
更进一步地,对于Android操作***而言,为了防止被轻易地反编译,在实际的客户端中大部分代码是混淆的,这意味着需要对反射命令进行翻译。因此,调试端可以在建立长连接过程中获取目标客户端所在终端的版本号,在调试端保存有各版本对应的混淆映射文件,依据目标客户端所在终端的版本号对应的混淆映射文件,将反射命令翻译为混淆命令,然后向目标客户端所在终端发送该混淆命令。
服务器接收到调试端发送给目标客户端所在终端的反射命令后,转发给目标客户端所在终端。对于服务器而言,一方面负责命令的传递,另一方面也可以对调试端的身份进行限制。即服务端接收到反射命令后,可以判断发送该反射命令的调试端是否为合法用户,如果是,则将该反射命令转发给目标客户端所在终端;否则不进行反射命令的转发。其中合法用户可以仅限于内部开发测试人员等特殊用户,可以将这部分用户的标识信息以白名单的方式在服务器进行记录,以便服务器以此白名单作为对调试端身份的限制。
另外,服务器还可以对转发的反射命令和执行结果的相关信息进行记录和维护,从而保证如果有用户隐私被侵犯等情况发生时,能够通过维护的这些相关信息进行查询。
在204中,目标客户端所在终端执行接收到的反射命令,以执行指定方法,或者获取指定变量的值或文件。
在本发明实施例中,主要应用了反射机制,所谓反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为反射机制。
目标客户端所在终端接收到反射命令后,按顺序对接收到的反射命令依次解析和执行,通过操作***的反射库得到对应的类、变量、方法或文件等,然后将执行结果返回给调试端。对反射命令的具体执行可以包括:执行指定方法、设置指定变量或获取执行变量的值或文件,并返回结果。
更进一步地,为了避免被恶意的操作影响,可以在目标客户端所在终端增加一些保护措施。例如,接收到反射命令后,判断反射命令的操作类型是否属于预设的危险操作类型,如果是,则禁止执行反射命令。例如,可以将在Android中的Intent操作设置为危险操作类型,将安装应用的操作设置为危险操作类型等。再例如,接收到反射命令后,判断反射命令获取的信息类型是否属于预设的隐私信息类型,如果是,则禁止执行反射命令。例如,将获取用户手机号、通话记录、用户账号等信息的反射命令一律禁止执行。这样就能够保证对目标客户端的远程调试对于用户而言是安全的。
在205中,目标客户端所在终端通过上述长连接返回执行结果。
该执行结果可以包括目标客户端所在终端执行指定方法的结果,目标客户端所在终端获取的指定变量的值或文件,等等。
除了上述反射命令之外,在有些情况下,除了需要获取目标客户端所在终端中反映问题环境的相关数据信息之外,有些问题是由于目标客户端执行了特定命令所引起的,那么就需要重现这一状况。因此,调试端可以通过上述长连接向目标客户端所在终端发送监听命令,该监听命令用于指示目标客户端所在终端监听到目标客户端执行指定命令时返回通知消息。
举一个例子:上述监听命令可以是诸如:
listener-cmd300100
表示监听命令300100。
当目标客户端所在终端监听到目标客户端执行代码为300100的命令时,通过上述长连接向调试端返回通知消息。
当调试端接收到通知消息后,获知目标客户端执行了指定命令,此时可以通过上述发送反射命令的方式,来获取目标客户端所在终端的指定变量值或文件,或者目标客户端所在终端对指定方法的执行结果,从而进行问题分析和调试。
以上是对本发明所提供方法进行的详细描述,下面结合实施例对本发明提供的装置进行详细描述。
图3为本发明实施例提供的设置于调试端的装置结构图,用于执行上述方法实施例中调试端所具有的功能,如图3所示,该装置可以包括:目标确定单元01、连接建立单元02、命令发送单元03和结果接收单元04,其中各组成单元的主要功能如下:
目标确定单元01负责确定目标客户端所在终端。目标确定单元01可以采用但不限于以下方式:
第一种方式:从向用户提供的反馈入口页面,获取出现问题的目标客户端所在终端的信息。在本发明实施例中,可以向客户端的所有用户提供反馈入口页面,也就是说,提供一个专门的页面作为入口,使用该客户端的用户可以针对客户端出现的问题在该页面上进行交流和留言,诸如提供客户端出现的问题、时间、终端类型等等。调试端就可以从该反馈入口页面上确定出现问题的客户端作为目标客户端,再依据用户进行交流和留言时使用的IP地址等终端信息,就可以获取目标客户端所在终端的信息。
第二种方式:从服务端的应用日志中,获取出现问题的目标客户端所在终端的信息。
通常,在服务端会在应用日志中对客户端的使用状况进行记录,通常应用日志中可以包括诸如客户端的运行状态变化、客户端对外部***或模块的调用、业务异常信息、非预期执行信息,等等。通过应用日志就可以找到一些出现问题的客户端,将出现问题的客户端作为目标客户端。
其中对于出现问题的客户端的识别,可以通过人工方式实现,也可以自动实现。若调试端自动实现,则可以采用诸如关键字匹配的方式,例如通常在应用日志中关键字“rom_size”标识rom溢出,关键字“image_fail”标识图片下载失败、关键字“net_fail”标识网络连接失败等,若出现这些关键字,则可以定位到出现问题的客户端。
连接建立单元02负责建立调试端与目标客户端所在终端之间的连接。具体地,连接建立单元02可以建立与服务器之间的长连接,然后服务器依据调试端发送的目标客户端所在终端的信息,建立与目标客户端所在终端之间的长连接。
优选地,另外,为了防止域名劫持或者保证处理速度,连接建立单元02可以从可进行长连接的服务器IP地址列表中,选择最优服务器的IP地址作为长连接目的地址来建立长连接。其中最优服务器可以是基于负载均衡策略的负担最小的服务器,也可以是连接速度最快的服务器等。
命令发送单元03负责通过上述连接向目标客户端所在终端发送反射命令,反射命令用于被目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件。
该反射命令可以由开发测试人员输入调试端,由调试端进行发送。例如开发测试人员按照特定的格式输入反射命令。或者,也可以预先配置于调试端,例如可以针对不同的问题类型配置与其对应的反射命令,当通过特定的反馈入口页面或者从应用日志中确定出现问题的目标客户端后,可以向该目标客户端所在终端发送与问题相对应的反射命令。
反射命令的格式和类型可以参见上述方法实施例中的描述,在此不再赘述。
结果接收单元04负责通过连接接收目标客户端所在终端返回的反射命令的执行结果。
更进一步地,对于Android操作***而言,为了防止被轻易地反编译,在实际的客户端中大部分代码是混淆的,这意味着需要对反射命令进行翻译。因此命令发送单元03可以依据目标客户端所在终端的版本号对应的混淆映射文件,将反射命令翻译为混淆命令,向目标客户端所在终端发送混淆命令。
除了上述反射命令之外,在有些情况下,除了需要获取目标客户端所在终端中反映问题环境的相关数据信息之外,有些问题是由于目标客户端执行了特定命令所引起的,那么就需要重现这一状况。因此命令发送单元03可以通过连接向目标客户端所在终端发送监听命令,监听命令指示目标客户端所在终端监听到目标客户端执行指定命令时返回通知消息。结果接收单元04接收到目标客户端所在终端的通知消息后,触发命令发送单元03执行通过连接向目标客户端所在终端发送反射命令的步骤。
图4为本发明实施例提供的设置于服务器的装置结构图,用于实现上述方法实施例中服务器的功能,如图4所示,该装置可以包括:连接建立单元11和转发处理单元12,还可以包括用户筛选单元13和记录维护单元14。其中各组成单元的主要功能如下:
连接建立单元11负责建立服务器与调试端之间的连接,并依据调试端发送的目标客户端所在终端的信息,建立与目标客户端所在终端之间的连接。这里的连接可以是任意类型的长连接。
转发处理单元12负责将调试端发送给目标客户端所在终端的反射命令转发给目标客户端所在终端,反射命令用于被目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;将目标客户端所在终端返回的反射命令的执行结果转发给调试端。
除了完成上述转发功能之外,还可以对调试端的身份进行限制。即用户筛选单元13判断发送反射命令的调试端是否为合法用户,如果是,则触发转发处理单元将调试端发送给目标客户端所在终端的反射命令转发给目标客户端所在终端;否则,禁止转发处理单元转发反射命令。其中合法用户可以仅限于内部开发测试人员等特殊用户,可以将这部分用户的标识信息以白名单的方式在服务器进行记录,以便服务器以此白名单作为对调试端身份的限制。
另外,记录维护单元14可以记录转发处理单元转发的反射命令和执行结果,从而保证如果有用户隐私被侵犯等情况发生时,能够通过维护的这些相关信息进行查询。
图5为本发明实施例提供的设置于目标客户端所在终端的装置结构图,如图5所示,该装置可以包括:连接建立单元21、命令接收单元22、命令执行单元23和结果返回单元24,还可以包括执行过滤单元25。其中各组成单元的主要功能如下:
连接建立单元21负责建立目标客户端所在终端与调试端之间的连接。具体地,连接建立单元21与已与调试端建立长连接的服务器之间建立长连接。其中长连接可以是任意类型的长连接,本发明实施例并不加以限制。
命令接收单元22负责通过连接接收调试端发送的反射命令。
命令执行单元23负责执行反射命令,以执行指定方法,设置指定变量或者获取指定变量或文件。
结果返回单元24负责通过连接向调试端返回反射命令的执行结果。
更进一步地,为了避免被恶意的操作影响,可以在目标客户端所在终端增加一些保护措施。执行过滤单元25可以判断反射命令的操作类型是否属于预设的危险操作类型,或者反射命令获取的信息类型是否属于预设的隐私信息类型,如果是,则禁止命令执行单元23执行反射命令;否则,触发命令执行单元23执行反射命令。例如,可以将在Android中的Intent操作设置为危险操作类型,将安装应用的操作设置为危险操作类型等。将获取用户手机号、通话记录、用户账号等用户隐私信息的反射命令一律禁止执行。
除了上述反射命令之外,在有些情况下,除了需要获取目标客户端所在终端中反映问题环境的相关数据信息之外,有些问题是由于目标客户端执行了特定命令所引起的,那么就需要重现这一状况。命令接收单元22还可以通过连接接收调试端发送的监听命令;命令执行单元23依据监听命令,监听到目标客户端执行指定命令时,触发结果返回单元24通过连接向调试端返回通知消息。
在本发明所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(RandomAccessMemory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。

Claims (28)

1.一种远程调试的方法,其特征在于,该方法包括:
调试端确定目标客户端所在终端;
建立所述调试端与所述目标客户端所在终端之间的连接;
通过所述连接向所述目标客户端所在终端发送反射命令,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;
通过所述连接接收所述目标客户端所在终端返回的所述反射命令的执行结果。
2.根据权利要求1所述的方法,其特征在于,所述调试端确定目标客户端所在终端包括:
从向用户提供的反馈入口页面,获取出现问题的目标客户端所在终端的信息;或者,
从服务端的应用日志中,获取出现问题的目标客户端所在终端的信息。
3.根据权利要求1所述的方法,其特征在于,建立所述调试端与所述目标客户端所在终端之间的连接包括:
所述调试端建立与服务器之间的长连接;
所述服务器依据所述调试端发送的所述目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的长连接。
4.根据权利要求3所述的方法,其特征在于,所述调试端建立与服务器之间的长连接包括:
所述调试端从可进行长连接的服务器IP地址列表中,选择最优服务器的IP地址作为长连接目的地址来建立长连接。
5.根据权利要求1所述的方法,其特征在于,向所述目标客户端所在终端发送反射命令包括:
依据所述目标客户端所在终端的版本号对应的混淆映射文件,将所述反射命令翻译为混淆命令,向所述目标客户端所在终端发送所述混淆命令。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
调试端通过所述连接向所述目标客户端所在终端发送监听命令,所述监听命令指示所述目标客户端所在终端监听到所述目标客户端执行指定命令时返回通知消息。
7.根据权利要求6所述的方法,其特征在于,所述调试端接收到所述目标客户端所在终端的通知消息后,执行通过所述连接向所述目标客户端所在终端发送反射命令的步骤。
8.一种远程调试的方法,其特征在于,该方法包括:
服务器建立与调试端之间的连接,并依据所述调试端发送的目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的连接;
将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;
将所述目标客户端所在终端返回的所述反射命令的执行结果转发给所述调试端。
9.根据权利要求8所述的方法,其特征在于,该方法还包括:
所述服务端接收到所述反射命令后,判断发送所述反射命令的调试端是否为合法用户,如果是,则执行所述将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端;否则,进行转发所述反射命令。
10.根据权利要求8所述的方法,其特征在于,该方法还包括:
所述服务端记录转发的反射命令和执行结果,以供查询。
11.一种远程调试的方法,其特征在于,该方法包括:
目标客户端所在终端建立与调试端之间的连接;
通过所述连接接收所述调试端发送的反射命令;
执行所述反射命令,以执行指定方法,设置指定变量,或者获取指定变量或文件;
通过所述连接向所述调试端返回所述反射命令的执行结果。
12.根据权利要求11所述的方法,其特征在于,所述目标客户端所在终端建立与调试端之间的连接包括:
所述目标客户端与已与所述调试端建立长连接的服务器之间建立长连接。
13.根据权利要求11所述的方法,其特征在于,在执行所述反射命令之前,还包括:
判断所述反射命令的操作类型是否属于预设的危险操作类型,或者所述反射命令获取的信息类型是否属于预设的隐私信息类型,如果是,则禁止执行所述反射命令;否则,执行所述反射命令。
14.根据权利要求11所述的方法,其特征在于,该方法还包括:
所述目标客户端所在终端通过所述连接接收所述调试端发送的监听命令;
依据所述监听命令,监听到所述目标客户端执行指定命令时,通过所述连接向所述调试端返回通知消息。
15.一种远程调试的装置,设置于调试端,其特征在于,该装置包括:
目标确定单元,用于确定目标客户端所在终端;
连接建立单元,用于建立所述调试端与所述目标客户端所在终端之间的连接;
命令发送单元,用于通过所述连接向所述目标客户端所在终端发送反射命令,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;
结果接收单元,用于通过所述连接接收所述目标客户端所在终端返回的所述反射命令的执行结果。
16.根据权利要求15所述的装置,其特征在于,所述目标确定单元,具体用于从向用户提供的反馈入口页面,获取出现问题的目标客户端所在终端的信息;或者,
从服务端的应用日志中,获取出现问题的目标客户端所在终端的信息。
17.根据权利要求15所述的装置,其特征在于,所述连接建立单元,具体用于建立与服务器之间的长连接;
所述服务器依据所述调试端发送的所述目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的长连接。
18.根据权利要求17所述的装置,其特征在于,所述连接建立单元从可进行长连接的服务器IP地址列表中,选择最优服务器的IP地址作为长连接目的地址来建立长连接。
19.根据权利要求15所述的装置,其特征在于,所述命令发送单元,具体用于依据所述目标客户端所在终端的版本号对应的混淆映射文件,将所述反射命令翻译为混淆命令,向所述目标客户端所在终端发送所述混淆命令。
20.根据权利要求15所述的装置,其特征在于,所述命令发送单元,还用于通过所述连接向所述目标客户端所在终端发送监听命令,所述监听命令指示所述目标客户端所在终端监听到所述目标客户端执行指定命令时返回通知消息。
21.根据权利要求20所述的装置,其特征在于,所述结果接收单元,还用于接收到所述目标客户端所在终端的通知消息后,触发所述命令发送单元执行通过所述连接向所述目标客户端所在终端发送反射命令的步骤。
22.一种远程调试的装置,设置于服务器,其特征在于,该装置包括:
连接建立单元,用于建立所述服务器与调试端之间的连接,并依据所述调试端发送的目标客户端所在终端的信息,建立与所述目标客户端所在终端之间的连接;
转发处理单元,用于将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端,所述反射命令用于被所述目标客户端所在终端反射执行,以执行指定方法,设置指定变量,或者获取指定变量或文件;将所述目标客户端所在终端返回的所述反射命令的执行结果转发给所述调试端。
23.根据权利要求22所述的装置,其特征在于,该装置还包括:
用户筛选单元,用于判断发送所述反射命令的调试端是否为合法用户,如果是,则触发所述转发处理单元将所述调试端发送给所述目标客户端所在终端的反射命令转发给所述目标客户端所在终端;否则,禁止所述转发处理单元转发所述反射命令。
24.根据权利要求22所述的装置,其特征在于,该装置还包括:
记录维护单元,用于记录所述转发处理单元转发的反射命令和执行结果,以供查询。
25.一种远程调试的装置,设置于目标客户端所在终端,其特征在于,该装置包括:
连接建立单元,用于建立所述目标客户端所在终端与调试端之间的连接;
命令接收单元,用于通过所述连接接收所述调试端发送的反射命令;
命令执行单元,用于执行所述反射命令,以执行指定方法,设置指定变量,或者获取指定变量或文件;
结果返回单元,用于通过所述连接向所述调试端返回所述反射命令的执行结果。
26.根据权利要求25所述的装置,其特征在于,所述连接建立单元,具体用于与已与所述调试端建立长连接的服务器之间建立长连接。
27.根据权利要求25所述的装置,其特征在于,该装置还包括:
执行过滤单元,用于判断所述反射命令的操作类型是否属于预设的危险操作类型,或者所述反射命令获取的信息类型是否属于预设的隐私信息类型,如果是,则禁止所述命令执行单元执行所述反射命令;否则,触发所述命令执行单元执行所述反射命令。
28.根据权利要求25所述的装置,其特征在于,所述命令接收单元,还用于通过所述连接接收所述调试端发送的监听命令;
所述命令执行单元,还用于依据所述监听命令,监听到所述目标客户端执行指定命令时,触发所述结果返回单元通过所述连接向所述调试端返回通知消息。
CN201610143226.6A 2016-03-14 2016-03-14 一种远程调试的方法和装置 Active CN105808399B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610143226.6A CN105808399B (zh) 2016-03-14 2016-03-14 一种远程调试的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610143226.6A CN105808399B (zh) 2016-03-14 2016-03-14 一种远程调试的方法和装置

Publications (2)

Publication Number Publication Date
CN105808399A true CN105808399A (zh) 2016-07-27
CN105808399B CN105808399B (zh) 2020-01-21

Family

ID=56468214

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610143226.6A Active CN105808399B (zh) 2016-03-14 2016-03-14 一种远程调试的方法和装置

Country Status (1)

Country Link
CN (1) CN105808399B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107819846A (zh) * 2017-11-07 2018-03-20 北京三快在线科技有限公司 一种远程连接方法及装置
CN108073504A (zh) * 2016-11-17 2018-05-25 北京京东尚科信息技术有限公司 用于调试分布式***的方法、装置及调试***
CN108345533A (zh) * 2017-01-24 2018-07-31 腾讯科技(深圳)有限公司 一种应用程序调试方法、设备及服务器
CN108536574A (zh) * 2017-03-01 2018-09-14 北京嘀嘀无限科技发展有限公司 应用程序调试的方法及装置
CN108737337A (zh) * 2017-04-18 2018-11-02 腾讯科技(深圳)有限公司 设备处理方法、装置、服务器及***
CN108932263A (zh) * 2017-05-26 2018-12-04 腾讯科技(深圳)有限公司 一种关联对象追踪方法及装置
CN109002366A (zh) * 2018-07-26 2018-12-14 广东蔚海数问大数据科技有限公司 一种移动端网页的远程调试方法及装置
CN109344064A (zh) * 2018-09-26 2019-02-15 北京酷我科技有限公司 一种应用远程调试方法
CN110457209A (zh) * 2019-07-16 2019-11-15 阿里巴巴集团控股有限公司 用于调试应用的方法和***
CN110879676A (zh) * 2018-09-05 2020-03-13 优视科技有限公司 调试控制方法、主控设备、调试服务器、被控设备及***
CN111026662A (zh) * 2019-12-06 2020-04-17 联陆智能交通科技(上海)有限公司 物联网终端设备远程调试方法、***及介质
CN112036857A (zh) * 2019-06-04 2020-12-04 珠海格力电器股份有限公司 多联机分户计费的调试方法、分户计费***及多联机空调

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230954A1 (en) * 2003-05-16 2004-11-18 Cedric Dandoy User interface debugger
CN103188308A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 远程诊断的方法和***
CN103916663A (zh) * 2014-03-25 2014-07-09 烽火通信科技股份有限公司 一种实现iptv机顶盒远程调试的方法
CN104281520A (zh) * 2013-07-10 2015-01-14 腾讯科技(深圳)有限公司 跟踪和调试的方法、装置及***
CN104836840A (zh) * 2015-03-30 2015-08-12 北京奇虎科技有限公司 移动终端的控制方法、服务器、装置和***
CN105159148A (zh) * 2015-07-16 2015-12-16 深圳前海达闼科技有限公司 一种机器人指令处理方法及装置
CN105338110A (zh) * 2015-11-23 2016-02-17 小米科技有限责任公司 远程调试方法和平台、服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040230954A1 (en) * 2003-05-16 2004-11-18 Cedric Dandoy User interface debugger
CN103188308A (zh) * 2011-12-30 2013-07-03 北大方正集团有限公司 远程诊断的方法和***
CN104281520A (zh) * 2013-07-10 2015-01-14 腾讯科技(深圳)有限公司 跟踪和调试的方法、装置及***
CN103916663A (zh) * 2014-03-25 2014-07-09 烽火通信科技股份有限公司 一种实现iptv机顶盒远程调试的方法
CN104836840A (zh) * 2015-03-30 2015-08-12 北京奇虎科技有限公司 移动终端的控制方法、服务器、装置和***
CN105159148A (zh) * 2015-07-16 2015-12-16 深圳前海达闼科技有限公司 一种机器人指令处理方法及装置
CN105338110A (zh) * 2015-11-23 2016-02-17 小米科技有限责任公司 远程调试方法和平台、服务器

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073504A (zh) * 2016-11-17 2018-05-25 北京京东尚科信息技术有限公司 用于调试分布式***的方法、装置及调试***
CN108345533A (zh) * 2017-01-24 2018-07-31 腾讯科技(深圳)有限公司 一种应用程序调试方法、设备及服务器
CN108536574A (zh) * 2017-03-01 2018-09-14 北京嘀嘀无限科技发展有限公司 应用程序调试的方法及装置
CN108737337A (zh) * 2017-04-18 2018-11-02 腾讯科技(深圳)有限公司 设备处理方法、装置、服务器及***
CN108932263B (zh) * 2017-05-26 2023-01-10 腾讯科技(深圳)有限公司 一种关联对象追踪方法及装置
CN108932263A (zh) * 2017-05-26 2018-12-04 腾讯科技(深圳)有限公司 一种关联对象追踪方法及装置
CN107819846B (zh) * 2017-11-07 2022-01-07 北京三快在线科技有限公司 一种远程连接方法及装置
CN107819846A (zh) * 2017-11-07 2018-03-20 北京三快在线科技有限公司 一种远程连接方法及装置
CN109002366A (zh) * 2018-07-26 2018-12-14 广东蔚海数问大数据科技有限公司 一种移动端网页的远程调试方法及装置
CN110879676A (zh) * 2018-09-05 2020-03-13 优视科技有限公司 调试控制方法、主控设备、调试服务器、被控设备及***
CN109344064A (zh) * 2018-09-26 2019-02-15 北京酷我科技有限公司 一种应用远程调试方法
CN109344064B (zh) * 2018-09-26 2022-03-25 北京酷我科技有限公司 一种应用远程调试方法
CN112036857A (zh) * 2019-06-04 2020-12-04 珠海格力电器股份有限公司 多联机分户计费的调试方法、分户计费***及多联机空调
CN112036857B (zh) * 2019-06-04 2024-04-19 珠海格力电器股份有限公司 多联机分户计费的调试方法、分户计费***及多联机空调
CN110457209A (zh) * 2019-07-16 2019-11-15 阿里巴巴集团控股有限公司 用于调试应用的方法和***
CN111026662A (zh) * 2019-12-06 2020-04-17 联陆智能交通科技(上海)有限公司 物联网终端设备远程调试方法、***及介质

Also Published As

Publication number Publication date
CN105808399B (zh) 2020-01-21

Similar Documents

Publication Publication Date Title
CN105808399A (zh) 一种远程调试的方法和装置
US7647631B2 (en) Automated user interaction in application assessment
CN101877696B (zh) 在网络应用环境下重构错误响应信息的设备和方法
JP4185043B2 (ja) 加入者識別モジュール(sim)エミュレータ
US8880660B2 (en) Information-processing device, communication system, computer readable medium, and information-processing method
CN104063305A (zh) 智能终端软件的压力测试方法、装置和***
CN104126176A (zh) 作为服务进行远程调试
CN111800490B (zh) 获取网络行为数据的方法、装置及终端设备
CN111198797B (zh) 操作监控方法及装置、操作分析方法及装置
CN109683997A (zh) 通过沙箱访问应用程序接口的方法、沙箱及沙箱设备
CN111414309A (zh) 应用程序的自动化测试方法、计算机设备和存储介质
CN105515909A (zh) 一种数据采集测试方法和装置
CN111159033B (zh) 一种软件测试方法及装置
CN110703740B (zh) 一种汽车诊断数据处理方法、装置及计算机存储介质
CN115659340B (zh) 一种仿冒小程序识别方法、装置、存储介质及电子设备
CN111782291B (zh) 一种测试页面的启动方法和装置
CN112199270B (zh) 一种程序测试方法、装置、设备及介质
CN113986768A (zh) 应用程序稳定性测试方法、装置、设备及介质
US20200311169A1 (en) Apparatus and method for determining types of uniform resource locator
CN114064510A (zh) 功能测试方法、装置、电子设备和存储介质
RU2671999C1 (ru) Способ и система для диагностики мобильных вычислительных устройств
WO2020222673A1 (en) Method and system for diagnosing mobile computing devices
CN112583891A (zh) 接口文档获取方法、装置和服务器
CN111381836A (zh) 应用程序部署环境的切换方法及装置
CN115982018B (zh) 一种基于ocr的ui测试方法、***、计算机设备和存储介质

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