[go: up one dir, main page]

CN107678938A - The adjustment method and equipment of a kind of application program - Google Patents

The adjustment method and equipment of a kind of application program Download PDF

Info

Publication number
CN107678938A
CN107678938A CN201710734665.9A CN201710734665A CN107678938A CN 107678938 A CN107678938 A CN 107678938A CN 201710734665 A CN201710734665 A CN 201710734665A CN 107678938 A CN107678938 A CN 107678938A
Authority
CN
China
Prior art keywords
debugging
application program
instruction
result
code
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
CN201710734665.9A
Other languages
Chinese (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.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding 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 Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201710734665.9A priority Critical patent/CN107678938A/en
Publication of CN107678938A publication Critical patent/CN107678938A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3698Environments for analysis, debugging or testing of software
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Prevention of errors by analysis, debugging or testing of software
    • G06F11/3668Testing of software
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (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

本说明书公开了一种应用程序的调试方法及设备。在确定调试指令之后,将调试指令发送给目标客户端,使目标客户端根据调试指令对已安装的应用程序的运行情况进行调试,得到调试结果。在接收目标客户端发送的调试结果之后,基于调试结果分析应用程序是否存在异常。

This specification discloses a debugging method and equipment for an application program. After the debugging instruction is determined, the debugging instruction is sent to the target client, so that the target client can debug the running status of the installed application program according to the debugging instruction, and obtain the debugging result. After receiving the debugging result sent by the target client, analyze whether the application program is abnormal based on the debugging result.

Description

一种应用程序的调试方法及设备Application program debugging method and device

技术领域technical field

本申请涉及计算机技术领域,尤其涉及一种应用程序的调试方法及设备。The present application relates to the field of computer technology, in particular to a method and device for debugging an application program.

背景技术Background technique

随着互联网技术的发展,智能设备越来越普及,尤其是移动智能设备。通常,在智能设备上安装有操作系统,基于操作系统,可以运行各种应用程序(Application,简称APP),从而实现相应的操作或控制功能。With the development of Internet technology, smart devices are becoming more and more popular, especially mobile smart devices. Usually, an operating system is installed on the smart device, based on the operating system, various application programs (Application, APP for short) can be run, so as to realize corresponding operation or control functions.

在现实应用中,智能设备的机型繁多,同一版本操作系统可以安装在不同机型的智能设备,因此,同一款应用程序可能在不同机型的智能设备上运行。另外,对于不同机型或同一机型,所述安装的操作系统的版本也不尽相同,同一款应用程序可能基于不同版本的操作系统来运行。In practical applications, there are many types of smart devices, and the same version of the operating system can be installed on smart devices of different models. Therefore, the same application program may run on smart devices of different models. In addition, for different models or the same model, the versions of the installed operating systems are also different, and the same application program may run based on different versions of the operating system.

因此,业界亟需一种可以对应用程序进行远程调试的方案。Therefore, the industry urgently needs a solution that can remotely debug an application program.

发明内容Contents of the invention

有鉴于此,本说明书实施例提供了一种应用程序的调试方法及设备,用于有效实现对应用程序的调试方案。In view of this, the embodiments of this specification provide a method and device for debugging an application program, which are used to effectively implement a solution for debugging an application program.

本说明书实施例采用下述技术方案:The embodiment of this description adopts the following technical solutions:

本说明书实施例提供一种应用程序的调试方法,包括:The embodiment of this specification provides a debugging method for an application program, including:

确定调试指令;Determine the debugging instructions;

将所述调试指令发送给目标客户端,使所述目标客户端根据所述调试指令对已安装的应用程序的运行情况进行调试,得到调试结果;Send the debugging instruction to the target client, so that the target client can debug the operation of the installed application program according to the debugging instruction, and obtain a debugging result;

接收所述目标客户端发送的所述调试结果,并基于所述调试结果分析所述应用程序是否存在异常。receiving the debugging result sent by the target client, and analyzing whether the application program is abnormal based on the debugging result.

本说明书实施例还提供一种应用程序的调试方法,包括:The embodiment of this specification also provides a debugging method for an application program, including:

接收服务器发送的调试指令;Receive debugging instructions sent by the server;

基于所述调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果;Debugging the running status of the installed application program based on the debugging instruction, and obtaining a debugging result;

将所述调试结果发送给所述服务器,使服务器根据所述调试结果分析所述应用程序是否存在异常。The debugging result is sent to the server, so that the server analyzes whether the application program is abnormal according to the debugging result.

本说明书实施例还提供一种应用程序的调试设备,包括:The embodiment of this specification also provides an application program debugging device, including:

确定模块,确定调试指令;Determine the module and determine the debugging instruction;

发送模块,将所述调试指令发送给目标客户端,使所述目标客户端根据所述调试指令对已安装的应用程序的运行情况进行调试,得到调试结果;The sending module sends the debugging instruction to the target client, so that the target client can debug the operation of the installed application program according to the debugging instruction, and obtain the debugging result;

接收模块,接收所述目标客户端发送的所述调试结果,并基于所述调试结果分析所述应用程序是否存在异常。The receiving module receives the debugging result sent by the target client, and analyzes whether the application program is abnormal based on the debugging result.

本说明书实施例还提供一种应用程序的调试设备,包括:The embodiment of this specification also provides an application program debugging device, including:

接收模块,接收服务器发送的调试指令;The receiving module receives the debugging instructions sent by the server;

调试模块,基于所述调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果;The debugging module, based on the debugging instruction, debugs the operation of the installed application program, and obtains the debugging result;

发送模块,将所述调试结果发送给所述服务器,使服务器根据所述调试结果分析所述应用程序是否存在异常。The sending module sends the debugging result to the server, so that the server analyzes whether the application program is abnormal according to the debugging result.

本说明书实施例还提供一种应用程序的调试设备,包括至少一个处理器及存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行以下步骤:The embodiment of this specification also provides an application program debugging device, including at least one processor and a memory, the memory stores a program, and is configured to perform the following steps by the at least one processor:

确定调试指令;Determine the debugging instructions;

将所述调试指令发送给目标客户端,使所述目标客户端根据所述调试指令对已安装的应用程序的运行情况进行调试,得到调试结果;Send the debugging instruction to the target client, so that the target client can debug the operation of the installed application program according to the debugging instruction, and obtain a debugging result;

接收所述目标客户端发送的所述调试结果,并基于所述调试结果分析所述应用程序是否存在异常。receiving the debugging result sent by the target client, and analyzing whether the application program is abnormal based on the debugging result.

本说明书实施例还提供一种应用程序的调试设备,包括至少一个处理器及存储器,所述存储器存储有程序,并且被配置成由所述至少一个处理器执行以下步骤:The embodiment of this specification also provides an application program debugging device, including at least one processor and a memory, the memory stores a program, and is configured to perform the following steps by the at least one processor:

接收服务器发送的调试指令;Receive debugging instructions sent by the server;

基于所述调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果;Debugging the running status of the installed application program based on the debugging instruction, and obtaining a debugging result;

将所述调试结果发送给所述服务器,使服务器根据所述调试结果分析所述应用程序是否存在异常。The debugging result is sent to the server, so that the server analyzes whether the application program is abnormal according to the debugging result.

本说明书实施例采用的上述至少一个技术方案能够达到以下有益效果:The above at least one technical solution adopted in the embodiments of this specification can achieve the following beneficial effects:

在服务器侧,确定调试指令,并发送给目标客户端;在目标客户端侧,基于调试指令对已安装的应用程序的运行状况进行调试,得到调试结果。之后,在服务器侧,基于调试结果分析应用程序是否存在异常,这可以包含判断应用程序存在异常和/或确定应用程序存在异常的原因,再根据分析结果消除异常。尤其是但不限于,如果应用程序运行产生的问题事件与运行环境相关,导致在开发端复现该问题事件存在不可操作性、或者在开发端开发相同的运行环境来复现该问题事件的开发成本较高,则可以利用本说明书实施例记载的技术方案,对目标客户端进行远程调试,易于实现。On the server side, determine the debugging instruction, and send it to the target client; on the target client side, debug the operating status of the installed application program based on the debugging instruction, and obtain the debugging result. Afterwards, on the server side, analyze whether the application program is abnormal based on the debugging results, which may include judging the abnormality in the application program and/or determining the cause of the abnormality in the application program, and then eliminating the abnormality according to the analysis result. In particular, but not limited to, if the problem event generated by the running of the application is related to the running environment, it is inoperable to reproduce the problem event on the development side, or the development of the same running environment on the development side to reproduce the problem event If the cost is relatively high, the technical solutions recorded in the embodiments of this specification can be used to remotely debug the target client, which is easy to implement.

附图说明Description of drawings

此处所说明的附图用来提供对本说明书的进一步理解,构成本说明书的一部分,本说明书的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:The accompanying drawings described here are used to provide a further understanding of this specification and constitute a part of this specification. The schematic embodiments and descriptions of this specification are used to explain this application and do not constitute an improper limitation of this application. In the attached picture:

图1为本说明书实施例提供的一种应用程序的调试方法的时序图;FIG. 1 is a timing diagram of an application program debugging method provided by an embodiment of this specification;

图2为本说明书实施例提供的一种应用程序的调试方法的流程图;FIG. 2 is a flow chart of an application program debugging method provided by an embodiment of this specification;

图3为本说明书实施例提供的一种应用程序的调试方法的流程图;FIG. 3 is a flow chart of an application program debugging method provided by an embodiment of this specification;

图4为本说明书实施例提出的一种应用程序的调试方法的流程图;FIG. 4 is a flow chart of an application program debugging method proposed by an embodiment of this specification;

图5为本说明书实施例提出的一种应用程序的调试设备的结构图;FIG. 5 is a structural diagram of an application program debugging device proposed in the embodiment of this specification;

图6为本说明书实施例提出的一种应用程序的调试设备的结构图。FIG. 6 is a structural diagram of an application program debugging device proposed by the embodiment of this specification.

具体实施方式detailed description

在现实应用中,智能设备之间的差异可能使操作系统之间出现个体差异,不同版本的操作系统之间也可能存在个体差异,这些操作系统之间的个体差异,使得同一款应用程序的运行环境之间存在差异,那么得到运行结果可能不同。例如,在一些智能设备上可能会出现无法兼容、运行结果无法显示、运行结果错误等问题事件。此时,需要对出现问题事件的应用程序进行调试,以消除具体运行环境对应的问题事件。但在调试过程中遇到的困境在于,因运行环境的差异,在应用程序的开发端一一复现具体的问题事件具有不可操作性,或者在开发端开发相同的运行环境来复现该问题事件的开发成本较高。In real-world applications, differences between smart devices may cause individual differences between operating systems, and there may also be individual differences between different versions of operating systems. These individual differences between operating systems make the running of the same application There are differences between environments, so the running results may be different. For example, on some smart devices, problems such as incompatibility, failure to display running results, and wrong running results may occur. At this time, it is necessary to debug the application program in which the problem event occurs, so as to eliminate the problem event corresponding to the specific operating environment. However, the dilemma encountered in the debugging process is that due to the difference in the operating environment, it is not feasible to reproduce specific problem events one by one on the development end of the application, or to develop the same operating environment on the development end to reproduce the problem Events are expensive to develop.

针对于此,本说明书实施例提供一种应用程序的调试方法及设备。图1为本说明书实施例提供的一种应用程序的调试方法的时序图,本调试方法如下所示。In view of this, the embodiments of this specification provide a method and device for debugging an application program. FIG. 1 is a sequence diagram of an application program debugging method provided by an embodiment of this specification, and the debugging method is as follows.

步骤101:目标客户端将问题事件发送至服务器,该问题事件可以是用户在操作目标客户端时出现的异常结果,例如兼容性问题、运行结果无法显示、运行结果错误等。Step 101: The target client sends a problem event to the server. The problem event may be an abnormal result when the user operates the target client, such as compatibility issues, failure to display running results, and wrong running results.

步骤103:基于问题事件,服务器确定调试对象和针对调试对象的调试指令。目标客户端中的一具体应用程序或者应用程序中的一段具体的子程序存在异常,造成具体的问题事件,因此,调试指令所针对的调试对象可以为已安装的应用程序或应用程序的一段子程序。Step 103: Based on the problem event, the server determines the debugging object and the debugging instruction for the debugging object. There is an exception in a specific application program or a specific subroutine in the application program in the target client, causing a specific problem event. Therefore, the debugging object targeted by the debugging instruction can be an installed application program or a subroutine of the application program. program.

步骤105:服务器将调试指令发送给目标客户端。Step 105: the server sends the debugging instruction to the target client.

步骤107:基于调试指令,目标客户端对已安装的应用程序的运行情况进行调试,得到调试结果。Step 107: Based on the debugging instruction, the target client debugs the running status of the installed application program, and obtains a debugging result.

步骤109:服务器从目标客户端接收调试结果,并基于该调试结果分析应用程序是否存在异常,和可以进一步分析应用程序存在异常的原因。之后,开发人员可以对应用程序进行修复、更新,解决目标客户端存在的问题事件。Step 109: The server receives the debugging result from the target client, and analyzes whether the application program is abnormal based on the debugging result, and can further analyze the cause of the abnormality in the application program. Afterwards, developers can fix and update the application to resolve problematic events on the target client.

在本说明书实施例中,可以在目标客户端中添加调试指令,目标客户端基于调试指令对应用程序整个的运行情况进行调试,得到调试结果。调试结果包括但不限于采集应用程序在运行过程中的日志数据,利用这些日志数据可以分析应用程序的执行逻辑,确定执行逻辑与问题事件之间的关系,从而发现应用程序是否存在异常及应用程序存在异常的原因的依据。尤其是但不限于,如果问题事件跟应用程序的运行环境相关,导致在开发端复现该问题事件存在不可操作性、或者在开发端开发相同的运行环境来复现该问题事件的开发成本较高,则可以利用本说明书实施例记载的调试方法,对目标客户端进行远程调试,易于实现。In the embodiment of this specification, a debugging instruction can be added to the target client, and the target client can debug the entire operation of the application program based on the debugging instruction, and obtain the debugging result. Debugging results include but are not limited to collecting log data during the running of the application. Using these log data, the execution logic of the application can be analyzed to determine the relationship between the execution logic and problem events, so as to find out whether there is an exception in the application and whether the application is abnormal. Evidence of the reason for the existence of the exception. In particular, but not limited to, if the problem event is related to the operating environment of the application, it is inoperable to reproduce the problem event at the development end, or the development cost of developing the same operating environment to reproduce the problem event at the development end is relatively low. If it is high, the debugging method described in the embodiment of this specification can be used to perform remote debugging on the target client, which is easy to implement.

图2为本说明书实施例提供的一种应用程序的调试方法的流程图,总结如下,本说明书实施例记载的调试方法大致包括如下四个时期:开发期I、编译期II、调试期III和分析期IV。在开发期I和编译期II,可以确定调试对象和针对调试对象的调试指令。在调试期III,利用调试指令对调试对象进行调试。在分析期IV,利用调试结果分析应用程序是否存在异常。下面会详细展开说明本说明书实施例记载的上述四个时期所发生的技术方案。Fig. 2 is a flow chart of an application program debugging method provided by the embodiment of this specification, which is summarized as follows. The debugging method recorded in the embodiment of this specification roughly includes the following four periods: development period I, compilation period II, debugging period III and Analysis Period IV. In the development phase I and the compilation phase II, the debug object and the debugging instructions for the debug object can be determined. In the debugging phase III, the debugging object is debugged by using the debugging command. In analysis phase IV, the application is analyzed for anomalies using the debugging results. The technical solutions that occurred in the above four periods described in the embodiments of this specification will be described in detail below.

为使本说明书的目的、技术方案和优点更加清楚,下面将结合本说明书具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本说明书一部分实施例,而不是全部的实施例。基于本说明书中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purpose, technical solution and advantages of this specification clearer, the technical solution of this application will be clearly and completely described below in conjunction with specific embodiments of this specification and corresponding drawings. Apparently, the described embodiments are only some of the embodiments in this specification, not all of them. Based on the embodiments in this specification, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the protection scope of the present application.

以下结合附图,详细说明本说明书各实施例提供的技术方案。The technical solutions provided by each embodiment of this specification will be described in detail below in conjunction with the accompanying drawings.

图3为本说明书实施例提供的一种应用程序的调试方法的流程图,该调试方法如下所示。该调试方法的执行主体可以是服务器。FIG. 3 is a flow chart of a debugging method for an application program provided by an embodiment of this specification, and the debugging method is as follows. The execution subject of the debugging method may be a server.

步骤302:确定调试指令。Step 302: Determine the debugging instruction.

在本说明书实施例中,调试指令的产生时机,可以是基于目标客户端产生的问题事件确定调试指令,还可以是基于对目前版本的目标客户端应用程序的调试需求而确定调试指令。In the embodiment of this specification, the timing of generating the debugging instruction may be to determine the debugging instruction based on a problem event generated by the target client, or to determine the debugging instruction based on the debugging requirements for the current version of the target client application program.

若调试指令是基于问题事件而确定时,则确定调试指令,可以包括:If the debugging instruction is determined based on the problem event, then determining the debugging instruction may include:

确定与目标客户端对应的问题事件;Determining the problem event corresponding to the target client;

生成与问题事件对应的调试指令。Generate debug instructions corresponding to problem events.

本说明书实施例记载的问题事件包含但不限于页面无法显示、页面显示不完整、目标客户端与智能设备部兼容等问题。所述问题事件与目标客户端对应是指,问题事件是在使用目标客户端实现一种操作或一种功能的过程中出现的。具体地,问题事件可以是由于目标客户端中具体的已安装的应用程序或应用程序中的一段子程序的运行结果出现异常而产生的The problem events recorded in the embodiments of this manual include but are not limited to problems such as the page cannot be displayed, the page is displayed incompletely, and the target client is compatible with the smart device. The correspondence between the problem event and the target client means that the problem event occurs during the process of using the target client to implement an operation or a function. Specifically, the problem event may be generated due to an abnormal operation result of a specific installed application program or a subprogram in the application program in the target client

其中,确定与目标客户端对应的问题事件,可以是用户通过目标客户端直接上报给服务器,可以是根据目标客户端的开发方接到的用户投诉所确定,可以是服务器对目标客户端进行监控而得到,还可以是通过其他渠道所确定,在此不作具体限定。Wherein, determining the problem event corresponding to the target client may be that the user directly reports to the server through the target client, may be determined according to user complaints received by the developer of the target client, or may be determined by the server monitoring the target client. It can also be determined through other channels, which is not specifically limited here.

在本说明书实施例中,确定与目标客户端对应的问题事件,可以是在开发期I(参考图2)完成。In the embodiment of this specification, determining the problem event corresponding to the target client may be completed in the development phase I (refer to FIG. 2 ).

本说明书实施例记载的调试指令要实现的功能是对目标客户端中已安装应用程序的运行状况进行调试,得到调试结果,调试结果可用来分析所述应用程序是否存在异常。若调试指令是基于问题事件而确定,则需要应用程序在运行过程中再次复现该问题事件,那么调试指令的具体功能可以包含但不限于:在不影响和干涉应用程序的运行过程的前提下,获取应用程序在运行过程中产生的日志数据。The function to be realized by the debugging instruction described in the embodiment of this specification is to debug the operation status of the installed application program in the target client, and obtain the debugging result, which can be used to analyze whether the application program is abnormal. If the debugging instruction is determined based on the problem event, the application program needs to reproduce the problem event again during the running process, then the specific functions of the debugging instruction can include but are not limited to: on the premise of not affecting and interfering with the running process of the application program , to obtain the log data generated during the running of the application.

在本说明书实施例中,确定调试指令的具体步骤可以包括:In the embodiment of this specification, the specific steps of determining the debugging instruction may include:

确定调试对象以及所述调试对象对应的调试代码;Determine the debugging object and the debugging code corresponding to the debugging object;

基于所述调试代码,生成所述调试指令。Based on the debug code, the debug instruction is generated.

本说明书实施例记载的调试对象包含但不限于目标客户端已安装的应用程序、应用程序中的一段子程序、一段代码或者一段函数,在此不作具体限定。所述调试对象可以是基于所确定的问题事件而确定,也可以是基于目标客户端应用程序开发方基于调试需求自动确定。The debugging object described in the embodiment of this specification includes but is not limited to an application program installed on the target client, a subroutine in the application program, a section of code or a section of function, which is not specifically limited here. The debugging object may be determined based on the determined problem event, or may be determined automatically based on the debugging requirement by the developer of the target client application program.

在本说明书实施例中,调试对象与调试代码的对象关系可以是指,可以通过运行调试代码来实现调试对象对应的操作或功能,并同时对调试对象的运行情况进行调试。例如,若调试对象为目标客户端中已安装的应用程序,则在执行应用程序时,运行调试代码,实现应用程序对应的一种操作或者功能,同时对应用程序的运行情况进行调试。In the embodiment of this specification, the object relationship between the debug object and the debug code may mean that the operation or function corresponding to the debug object can be realized by running the debug code, and the running status of the debug object can be debugged at the same time. For example, if the debugging object is an application program installed in the target client, when the application program is executed, the debugging code is run to realize an operation or function corresponding to the application program, and at the same time, the running status of the application program is debugged.

在本说明书实施例中,确定调试对象对应的调试代码,包括:In the embodiment of this specification, determining the debugging code corresponding to the debugging object includes:

确定调试对象对应的源代码,该源代码可从代码仓库中获得;Determine the source code corresponding to the debugging object, which can be obtained from the code repository;

在不改变源代码运行逻辑的情况下,对源代码进行编辑,得到调试代码。其中,对源代码进行编辑,可以是在源代码中增添补丁代码。Edit the source code without changing the operating logic of the source code to obtain the debug code. Wherein, editing the source code may be adding patch codes to the source code.

优选地,确定调试对象对应的调试代码,包括:Preferably, determining the debugging code corresponding to the debugging object includes:

确定调试对象对应的源代码;Determine the source code corresponding to the debugging object;

在源代码中编辑第一断点标识和第二断点标识,并对编辑后的源代码执行编译操作,得到调试对象对应的调试代码;Edit the first breakpoint identifier and the second breakpoint identifier in the source code, and execute the compilation operation on the edited source code to obtain the debug code corresponding to the debug object;

其中,第一断点标识用于表征调试开始,第二断点标识用于表征调试结束。Wherein, the first breakpoint identifier is used to represent the start of debugging, and the second breakpoint identifier is used to represent the end of debugging.

其中,第一断点标识可以插入调试对象对应源代码的开始位置,或者插入对应具体问题事件的目标函数的入口位置,使得在开始运行源代码的同时,基于第一断点标识开始采集入参参数。第二断点标识以插入源代码的结束位置,或者插入对应具体问题事件的目标函数的出口位置,使得在源代码运行过程结束的同时,基于第二断点标识采集出参参数,并结束采集日志数据。Among them, the first breakpoint identifier can be inserted into the start position of the source code corresponding to the debugging object, or inserted into the entry position of the target function corresponding to the specific problem event, so that when the source code starts to run, the input parameters can be collected based on the first breakpoint identifier. parameter. The second breakpoint mark is used to insert the end position of the source code, or insert the exit position of the target function corresponding to the specific problem event, so that when the source code running process ends, the parameters are collected based on the second breakpoint mark, and the collection ends log data.

在开发期I(参考图2),开发者可以在源文件中增添第一断点标识和第二断点标识;或者开发平台对应的服务器接收开发者发送的编辑指令,根据该编辑指令,在源文件中增添第一断点标识和第二断点标识。In the development period I (refer to FIG. 2), the developer can add the first breakpoint identifier and the second breakpoint identifier in the source file; or the server corresponding to the development platform receives the editing instruction sent by the developer, and according to the editing instruction, the Add the first breakpoint mark and the second breakpoint mark in the source file.

在编译期II(参考图2),开发平台对应的服务器可以利用编译工具,对第一断点标识进行自动编译,得到代码化的第一断点标识,和对第二断点标识进行自动翻译,得到代码化的第二断点标识。In the compilation phase II (refer to Figure 2), the server corresponding to the development platform can use the compilation tool to automatically compile the first breakpoint identifier, obtain the coded first breakpoint identifier, and automatically translate the second breakpoint identifier , to obtain the coded second breakpoint identifier.

在本说明书实施例中,第一断点标识和第二断点标识的形成方法可以包括:在开发期I,由人工编译而成,在此不作具体限定。In the embodiment of this specification, the method for forming the first breakpoint identifier and the second breakpoint identifier may include: compiling manually during the development period I, which is not specifically limited here.

优选地,在对编辑后的源代码执行编译操作之前,调试方法还可以包括:Preferably, before compiling the edited source code, the debugging method may further include:

在源代码中编辑调试结果发送开关;Edit the debug result sending switch in the source code;

其中,调试结果发送开关的开关状态用于确定是否将调试结果发送服务器。Wherein, the switch state of the debugging result sending switch is used to determine whether to send the debugging result to the server.

在编译期II(参考图2),利用编译平台在源代码中配置调试结果发送开关。其中,所谓调试结果发送开关可以设置为基于具体需要而打开,从而使调试结果中的日志数据适时发送给服务器,以节省目标客户端的流量消耗。具体地,在调试过程中打开调试结果发送开关,使实时获取的调试结果中的日志数据实时发送给服务器。In the compilation phase II (refer to FIG. 2 ), use the compilation platform to configure the debugging result sending switch in the source code. Among them, the so-called debugging result sending switch can be set to be turned on based on specific needs, so that the log data in the debugging result can be sent to the server in a timely manner, so as to save the traffic consumption of the target client. Specifically, the debugging result sending switch is turned on during the debugging process, so that the log data in the debugging result obtained in real time is sent to the server in real time.

可选地,可以在源代码中的相应函数的入口位置和出口位置插入调试结果发送开关,确保每输入或输出一个或一组日志数据,调试结果发送开关被打开以将日志数据实时发送给服务器。对于没有日志数据产生的时候,则调试结果发送开关呈关闭状态,则没有日志数据回流给服务器。Optionally, a debug result sending switch can be inserted at the entry and exit positions of the corresponding function in the source code to ensure that each time one or a set of log data is input or output, the debug result sending switch is turned on to send the log data to the server in real time . When no log data is generated, the debugging result sending switch is turned off, and no log data is returned to the server.

可选地,调试结果发送开关可以配置为在调试文件一个运行周期内保持打开状态,使应用程序运行过程中的调试结果在运行过程接收后打包回流给服务器。Optionally, the debugging result sending switch can be configured to remain open during a running cycle of the debugging file, so that the debugging results during the running of the application are packaged and returned to the server after being received during the running process.

本说明书实施例记载的调试结果发送开关可以是以代码的形式存在,例如可以是调试代码中的一段代码。The debugging result sending switch described in the embodiment of this specification may exist in the form of code, for example, it may be a piece of code in the debugging code.

优选地,在对编辑后的源代码执行编译操作之前,调试方法还可以包括:Preferably, before compiling the edited source code, the debugging method may further include:

在源代码中编辑调试进程开启指令;Edit the debugging process start instruction in the source code;

其中,调试进程开启指令用于指示终端设备针对调试对象开启调试进程。Wherein, the instruction for starting the debugging process is used to instruct the terminal device to start the debugging process for the debugging object.

在编译期II(参考图2),利用编译平台在源代码中配置调试进程开启指令。其中,所谓调试进程开启指令可以配置为根据需要开启调试进程,以避免影响到应用程序的运行状况。具体地,调试进程开启指令可以设置为在应用程序启动时控制目标客户端开启调试进程,为运行调试代码分配资源。此时,调试进程可以分配到充足的资源,保证调试代码运行顺畅。这可以避免在应用程序运行过程中开启调试进程而可能存在的资源分配不足问题。In the compilation phase II (refer to FIG. 2 ), the debugging process start instruction is configured in the source code by using the compilation platform. Wherein, the so-called debugging process start instruction can be configured to start the debugging process according to needs, so as to avoid affecting the running status of the application program. Specifically, the instruction for starting the debugging process can be set to control the target client to start the debugging process when the application starts, so as to allocate resources for running the debugging code. At this point, the debugging process can be allocated sufficient resources to ensure that the debugging code runs smoothly. This can avoid the problem of insufficient resource allocation that may exist when the debugging process is started during the running of the application.

在本说明书实施例中,调试进程开启指令可以是以代码的形式存在,例如可以是调试代码中的一段代码。具体地,这段代码可以插入应用程序对应的源代码的开头位置,可以确保应用程序启动时,即时运行这段代码以开启调试进程。In this embodiment of the specification, the instruction to start the debugging process may exist in the form of code, for example, it may be a piece of code in the debugging code. Specifically, this piece of code can be inserted into the beginning of the corresponding source code of the application program, which can ensure that when the application program is started, this piece of code can be run immediately to start the debugging process.

在本说明书实施例中,基于调试代码生成调试指令,使得调试指令可以是通过代码的方式来实现;调试指令还可以是通过目标客户端与服务器之间的通信协议来实现,在此不作具体限定。In the embodiment of this specification, the debugging instruction is generated based on the debugging code, so that the debugging instruction can be implemented through code; the debugging instruction can also be implemented through the communication protocol between the target client and the server, which is not specifically limited here .

进一步地,基于调试代码,生成调试指令,可以包括:Further, generating debugging instructions based on the debugging code may include:

对调试代码进行处理,得到调试文件;Process the debug code to get the debug file;

基于所述调试文件生成所述调试指令。The debugging instruction is generated based on the debugging file.

这样,调试指令以调试文件的形式来实现,使得目标客户端可以加载该调试文件,并运行调试文件中的调试代码,对已安装的应用程序的运行情况进行调试。In this way, the debugging instruction is implemented in the form of a debugging file, so that the target client can load the debugging file and run the debugging code in the debugging file to debug the operation of the installed application program.

优选地,对调试代码进行处理,得到调试文件,可以包括:Preferably, the debug code is processed to obtain a debug file, which may include:

将所调试代码封装成为目标文件;Encapsulate the debugged code into an object file;

比较调试对象对应的源文件与目标文件之间的差异,并基于差异,得到调试文件。Compare the difference between the source file and the target file corresponding to the debugging object, and obtain the debugging file based on the difference.

在开发阶段,调试对象对应的源文件还被备份存储在数据库中。智能设备从数据库下载目标客户端应用程序对应的源文件文件并存储在本地,通过调用智能设备中存储的源文件,实现一种操作或功能。在开发期I(参考图2),在确定调试对象之后,从数据库获取调试对象对应的源文件,源文件包含调试对象对应的源代码。对源文件进行编辑,例如在源代码中增添补丁代码,得到目标文件,使得目标文件既包含源代码,还包含补丁代码。基于最终调试指令要实现的功能,应确保目标文件中源代码的执行逻辑不会发生改变。之后,开发人员可以将目标文件再存入数据库,以备后续使用。In the development stage, the source files corresponding to the debugging objects are backed up and stored in the database. The smart device downloads the source file corresponding to the target client application program from the database and stores it locally, and implements an operation or function by calling the source file stored in the smart device. In the development period I (refer to FIG. 2 ), after the debugging object is determined, the source file corresponding to the debugging object is obtained from the database, and the source file contains the source code corresponding to the debugging object. Edit the source file, for example, add patch code to the source code to obtain the target file, so that the target file contains both the source code and the patch code. Based on the function to be realized by the final debugging instruction, it should be ensured that the execution logic of the source code in the object file will not change. Afterwards, the developer can store the target file back into the database for subsequent use.

在编译期II(参考图2),从数据库调取源文件和目标文件;利用Diff工具,比较源文件和目标文件之间的差异,可以自动生成补丁(Patch)文件,该补丁文件即为调试文件。在这种情况下,在调试过程中,无需对目标客户端的目前版本进行全量升级,而仅需要以补丁文件的形式对目标客户端的目前版本进行增量升级,其好处在于可以降低开发成本和调试成本。In the compilation phase II (refer to Figure 2), the source file and the target file are retrieved from the database; the difference between the source file and the target file is compared using the Diff tool, and a patch (Patch) file can be automatically generated, and the patch file is a debug file. document. In this case, during the debugging process, it is not necessary to upgrade the current version of the target client in full, but only incrementally upgrade the current version of the target client in the form of a patch file, which has the advantage of reducing development costs and debugging cost.

步骤304:将调试指令发送给目标客户端,使目标客户端根据调试指令对已安装的应用程序的运行情况进行调试,得到调试结果。Step 304: Send the debugging instruction to the target client, so that the target client can debug the running status of the installed application program according to the debugging instruction, and obtain the debugging result.

在将调试指令发送给目标客户端之前,可以对调试指令进行加密处理。这样,目标客户端可以对调试指令进行解密验证,以验证调试指令的可靠性和安全性。Before sending the debugging instruction to the target client, the debugging instruction can be encrypted. In this way, the target client can decrypt and verify the debugging instructions to verify the reliability and security of the debugging instructions.

在本说明书实施例中,将调试指令发送给目标客户端,包括:In the embodiment of this specification, the debugging instructions are sent to the target client, including:

确定目标客户端的用户标识和/或设备标识;determine the user identity and/or device identity of the target client;

将调试指令发送给用户标识和/或设备标识对应的目标客户端。Send the debugging instruction to the target client corresponding to the user ID and/or device ID.

调试指令可以发送给具体的目标客户端,该具体的目标客户端可以是发送问题事件的客户端,从而实现一对一地远程调试具体的一目标客户端应用程序;具体的目标客户端还可以是在开发端确定的对应相同运行环境的具体版本的客户端,从而实现远程调试具体版本的目标客户端应用程序。The debugging instruction can be sent to a specific target client, and the specific target client can be the client sending the problem event, thereby realizing one-to-one remote debugging of a specific target client application program; the specific target client can also be It is the specific version of the client corresponding to the same operating environment determined on the development side, so as to realize the remote debugging of the specific version of the target client application.

如果目标客户端是发送问题事件的客户端,确定目标客户端的用户标识和/或设备标识,可以包括:If the target client is the one sending the problem event, determine the user ID and/or device ID of the target client, which may include:

若问题事件中携带用户标识和/或设备标识,则从问题事件中解析出用户标识和/或设备标识。If the problem event carries the user ID and/or the device ID, the user ID and/or the device ID are parsed from the problem event.

如果目标客户端是对应相同运行环境的客户端,则从数据库中获取对应该相同运行环境的设备标识和/或用户标识。If the target client is a client corresponding to the same operating environment, the device identification and/or user identification corresponding to the same operating environment is obtained from the database.

步骤306:接收目标客户端发送的调试结果,并基于调试结果分析应用程序是否存在异常。Step 306: Receive the debugging result sent by the target client, and analyze whether the application program is abnormal based on the debugging result.

使用本说明书实施例记载的应用程序的调试方法,可以在开发端实现远程调试目标客户端应用程序,基于得到的调试结果分析应用程序是否存在异常。调试结果中包含但不限于应用程序运行过程中的用户行为数据和应用程序的运行数据中的一种或多种,这是分析应用程序最直接的依据,可以分析应用程序的执行逻辑,确定应用程序异常造成的问题事件与执行逻辑之间的关系。尤其是但不限于,如果问题事件跟应用程序的运行环境相关,导致在开发端复现该问题事件存在不可操作性、或者在开发端开发相同的运行环境来复现该问题事件的开发成本较高,则可以利用本说明书实施例记载的调试方法,对目标客户端进行远程调试,易于实现。Using the application program debugging method described in the embodiments of this specification, the remote debugging of the target client application program can be implemented at the development end, and whether the application program is abnormal is analyzed based on the obtained debugging results. The debugging results include but are not limited to one or more of the user behavior data during the running of the application and the running data of the application. This is the most direct basis for analyzing the application. It can analyze the execution logic of the application and determine the application The relationship between problem events caused by program exceptions and execution logic. In particular, but not limited to, if the problem event is related to the operating environment of the application, it is inoperable to reproduce the problem event at the development end, or the development cost of developing the same operating environment to reproduce the problem event at the development end is relatively low. If it is high, the debugging method described in the embodiment of this specification can be used to perform remote debugging on the target client, which is easy to implement.

图4为本说明书实施例提出的一种应用程序的调试方法的流程图,该调试方法如下所示。该调试方法的执行主体可以是客户端,以下称为目标客户端。FIG. 4 is a flow chart of an application program debugging method proposed by the embodiment of this specification, and the debugging method is as follows. The execution subject of the debugging method may be a client, hereinafter referred to as a target client.

步骤401:接收服务器发送的调试指令。Step 401: Receive a debugging instruction sent by the server.

对于调试指令的内容,可以参考上述步骤302的内容,在此不再赘述。For the content of the debugging instruction, reference may be made to the content of step 302 above, which will not be repeated here.

在本说明书实施例中,在接收服务器发送的调试指令之前,调试方法还包括:In the embodiment of this specification, before receiving the debugging instruction sent by the server, the debugging method further includes:

确定问题事件;identify problem events;

将问题事件发送给服务器。Send problem events to the server.

在这种情况下,服务器可以根据问题事件生成调试指令,调试指令特别针对该问题事件。In this case, the server can generate debug instructions based on the problem event, the debug instructions being specific to the problem event.

优选地,将问题事件发送给服务器,可以包括:Preferably, sending problem events to the server may include:

将携带用户标识和/或设备标识的问题事件发送给服务器,使服务器基于用户标识和/或设备标识返回调试指令。Send the problem event carrying the user ID and/or device ID to the server, so that the server returns a debugging instruction based on the user ID and/or device ID.

在这种情况下,可以实现对具体的目标客户端进行精准的远程调控。In this case, precise remote control of specific target clients can be achieved.

步骤403:基于调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果。Step 403: Based on the debugging instruction, debug the running status of the installed application program, and obtain the debugging result.

在本说明书实施例中,基于调试指令,对已安装的应用程序的运行情况进行调试,包括:In the embodiment of this specification, based on the debugging instruction, the running status of the installed application program is debugged, including:

基于调试指令,确定调试代码;Determine the debugging code based on the debugging instruction;

运行调试代码,对已安装的应用程序的运行情况进行调试。Run the debug code to debug the operation of the installed application.

参考上文步骤304关于调试代码的内容说明,若在服务器侧,调试指令是基于调试代码而确定,则在目标客户端侧,可以基于调试指令确定调试代码,该调试代码可以是在调试对象对应的源代码中插入补丁代码而得到。Refer to the description of the debugging code in step 304 above. If on the server side, the debugging instruction is determined based on the debugging code, then on the target client side, the debugging code can be determined based on the debugging instruction. The debugging code can be the It is obtained by inserting the patch code into the source code of .

优选地,基于调试指令,对已安装的应用程序的运行情况进行调试,还可以包括:Preferably, based on the debugging instruction, the running condition of the installed application program is debugged, which may also include:

基于调试指令,确定调试文件;Determine the debug file based on the debug command;

加载所述调试文件,以基于调试文件确定调试代码,并运行调试代码,对已安装的应用程序的运行情况进行调试。The debugging file is loaded to determine the debugging code based on the debugging file, and run the debugging code to debug the operation of the installed application program.

参考上文步骤304关于调试文件的内容说明,若在服务器侧,调试指令基于调试文件而得到,则目标客户端可以基于调试指令确定调试文件,并在加载该调试文件时,使调试文件对应的补丁代码插入到调试对象对应的源代码中,得到调试代码。当应用程序在运行对应的源代码时,运行补丁代码,从而对应用程序的运行情况进行调试。Refer to the description of the debugging file in step 304 above. If the debugging instruction is obtained based on the debugging file on the server side, the target client can determine the debugging file based on the debugging instruction, and when loading the debugging file, make the corresponding The patch code is inserted into the source code corresponding to the debug object to obtain the debug code. When the application program is running the corresponding source code, run the patch code, so as to debug the operation of the application program.

优选地,运行调试代码,对已安装的应用程序的运行情况进行调试,包括:Preferably, the debugging code is run to debug the operation of the installed application program, including:

若所述调试代码包含第一断点标识和第二断点标识,则在读取到第一断点标识时,触发开始采集调试结果;在读取到第二断点标识的情况下,触发停止采集调试结果。If the debugging code includes the first breakpoint identification and the second breakpoint identification, when the first breakpoint identification is read, the trigger starts to collect the debugging results; when the second breakpoint identification is read, the trigger Stop collecting debugging results.

在基于第一断点标识开始对调试对象进行调试时,得到调试对象的入参数据。在基于第二断点标识结束对调试对象进行调试时,获得调试对象的出参数据。之后,得到的调试结果中包含所述入参数据和出参数据。When starting to debug the debug object based on the first breakpoint identifier, the input parameter data of the debug object is obtained. When the debugging of the debug object ends based on the second breakpoint identifier, output parameter data of the debug object is obtained. Afterwards, the obtained debugging result includes the input parameter data and output parameter data.

优选地,运行调试代码,还可以包括:Preferably, running the debugging code may also include:

判断调试代码中的调试结果发送开关的开关状态;Judging the switch state of the debugging result sending switch in the debugging code;

若开关状态为开启状态,则将采集到的调节结果发送给所述服务器。If the switch state is on, the collected adjustment result is sent to the server.

优选地,运行调试代码,还可以包括:Preferably, running the debugging code may also include:

启动调试进程,通过所述调试进程运行调试代码。A debugging process is started, and the debugging code is run through the debugging process.

参考上文步骤304中关于调试进程开启指令的内容,若调试代码包含开启调试进程开启指令,则目标客户端所在终端设备基于调试进程开启指令对调试对象开启调试进程。Referring to the above step 304 about the instruction to start the debugging process, if the debugging code includes the instruction to start the debugging process, the terminal device where the target client is located starts the debugging process for the debugger based on the instruction to start the debugging process.

基于调试进程开启指令确定针对调试对象的调试进程的开启时机,包括:The timing of starting the debugging process for the debug object is determined based on the debugging process starting instruction, including:

在调试对象启动时,确定调试进程开启指令;When the debuggee starts, determine the debug process start command;

基于确定的调试进程开启指令,开启调试进程。The debugging process is started based on the determined debugging process starting instruction.

在本说明书实施例中,调试方法还包括:In the embodiment of this specification, the debugging method also includes:

若调试指令为加密处理的指令,则对调试指令进行解密验证;If the debugging instruction is an encrypted instruction, the debugging instruction is decrypted and verified;

若解密结果为通过,则基于解密后的调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果。If the decryption result is passed, then based on the decrypted debugging instruction, the running status of the installed application program is debugged to obtain a debugging result.

其中,调试结果包含但不限于应用程序运行过程中的用户行为数据和应用程序的运行数据中的一种或多种。Wherein, the debugging result includes, but is not limited to, one or more of user behavior data during the running of the application program and running data of the application program.

步骤405:将调试结果发送给服务器,使服务器根据调试结果分析应用程序是否存在异常。Step 405: Send the debugging result to the server, so that the server analyzes whether the application program is abnormal according to the debugging result.

本说明书上述实施例记载的应用程序的调试方法,发生在调试期III(参考图2),目标客户端在运行过程中可以复现发生的问题事件,并基于调试指令将调试结果返回给服务器,实现自身被远程调试的目的。The debugging method of the application program described in the above-mentioned embodiments of this manual occurs in the debugging phase III (refer to FIG. 2 ), and the target client can reproduce the problem event that occurs during the running process, and returns the debugging result to the server based on the debugging command. Realize the purpose of being remotely debugged.

图5为本说明书实施例提供的一种应用程序的调试设备的结构图,该调试设备包括:FIG. 5 is a structural diagram of a debugging device for an application program provided by an embodiment of this specification. The debugging device includes:

确定模块51,确定调试指令;Determining module 51, determining the debugging instruction;

发送模块52,将调试指令发送给目标客户端,使目标客户端根据调试指令对已安装的应用程序的运行情况进行调试,得到调试结果;The sending module 52 sends the debugging instruction to the target client, so that the target client can debug the operation of the installed application program according to the debugging instruction, and obtain the debugging result;

接收模块53,接收目标客户端发送的调试结果,并基于调试结果分析应用程序是否存在异常。The receiving module 53 receives the debugging result sent by the target client, and analyzes whether the application program is abnormal based on the debugging result.

可选地,确定模块51确定调试指令,包括:Optionally, the determining module 51 determines debugging instructions, including:

确定与目标客户端对应的问题事件;Determining the problem event corresponding to the target client;

生成与问题事件对应的调试指令。Generate debug instructions corresponding to problem events.

可选地,发送模块52将调试指令发送给目标客户端,包括:Optionally, the sending module 52 sends the debugging instructions to the target client, including:

确定目标客户端的用户标识和/或设备标识;determine the user identity and/or device identity of the target client;

将调试指令发送给用户标识和/或设备标识对应的目标客户端。Send the debugging instruction to the target client corresponding to the user ID and/or device ID.

可选地,确定模块51确定调试指令,包括:Optionally, the determining module 51 determines debugging instructions, including:

确定调试对象以及调试对象对应的调试代码;Determine the debugging object and the debugging code corresponding to the debugging object;

基于调试代码,生成调试指令。Based on the debug code, a debug instruction is generated.

可选地,确定模块51基于调试代码,生成调试指令,包括:Optionally, the determining module 51 generates debugging instructions based on the debugging code, including:

对调试代码进行处理,得到调试文件;Process the debug code to get the debug file;

基于调试文件生成调试指令。Generate debug instructions based on a debug file.

可选地,确定模块51对调试代码进行处理,得到调试文件,包括:Optionally, the determination module 51 processes the debug code to obtain a debug file, including:

将调试代码封装成为目标文件;Encapsulate the debug code into an object file;

比较调试对象对应的源文件与目标文件之间的差异,并基于差异,得到调试文件。Compare the difference between the source file and the target file corresponding to the debugging object, and obtain the debugging file based on the difference.

可选地,确定模块51确定调试对象对应的调试代码,包括:Optionally, the determining module 51 determines the debugging code corresponding to the debugging object, including:

确定调试对象对应的源代码;Determine the source code corresponding to the debugging object;

在源代码中编辑第一断点标识和第二断点标识,并对编辑后的源代码执行编译操作,得到调试对象对应的调试代码;Edit the first breakpoint identifier and the second breakpoint identifier in the source code, and execute the compilation operation on the edited source code to obtain the debug code corresponding to the debug object;

其中,第一断点标识用于表征调试开始,第二断点标识用于表征调试结束。Wherein, the first breakpoint identifier is used to represent the start of debugging, and the second breakpoint identifier is used to represent the end of debugging.

可选地,在对编辑后的源代码执行编译操作之前,确定模块51在源代码中编辑调试结果发送开关;Optionally, before performing the compiling operation on the edited source code, the determination module 51 edits the debugging result sending switch in the source code;

其中,调试结果发送开关的开关状态用于确定是否将调试结果发送服务器。Wherein, the switch state of the debugging result sending switch is used to determine whether to send the debugging result to the server.

可选地,在对编辑后的源代码执行编译操作之前,确定模块51在源代码中编辑调试进程开启指令;Optionally, before the compilation operation is performed on the edited source code, the determination module 51 edits the debugging process start instruction in the source code;

其中,调试进程开启指令用于指示终端设备针对调试对象开启调试进程。Wherein, the instruction for starting the debugging process is used to instruct the terminal device to start the debugging process for the debugging object.

可选地,调试设备还包括:Optionally, the debugging equipment also includes:

加密模块54,对调试指令进行加密处理。The encryption module 54 is configured to encrypt the debugging instructions.

需要说明的是,本说明书实施例所记载的应用程序的调控设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。It should be noted that the control device of the application program described in the embodiments of this specification can be realized by software or by hardware, which is not specifically limited here.

利用本说明书所记载的应用程序的调控设备,可以对目标客户端进行有效的远程调控。Using the control device of the application program described in this manual, the target client can be effectively remotely controlled.

基于同一个发明构思,本说明书实施例还提供一种应用程序的调控设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:Based on the same inventive concept, the embodiment of this specification also provides an application control device, including at least one processor and a memory, the memory stores a program, and is configured to perform the following steps by at least one processor:

确定调试指令;Determine the debugging instructions;

将调试指令发送给目标客户端,使目标客户端根据调试指令对已安装的应用程序的运行情况进行调试,得到调试结果;Send the debugging instruction to the target client, so that the target client can debug the operation of the installed application program according to the debugging instruction, and obtain the debugging result;

接收目标客户端发送的调试结果,并基于调试结果分析应用程序是否存在异常。Receive the debugging result sent by the target client, and analyze whether the application is abnormal based on the debugging result.

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。For other functions of the processor, reference may also be made to the contents recorded in the foregoing embodiments, and details will not be repeated here.

基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:Based on the same inventive concept, the embodiment of this specification also provides a computer-readable storage medium, the computer-readable storage medium includes a program used in combination with an electronic device, and the program can be executed by a processor to complete the following steps:

确定调试指令;Determine the debugging instructions;

将调试指令发送给目标客户端,使目标客户端根据调试指令对已安装的应用程序的运行情况进行调试,得到调试结果;Send the debugging instruction to the target client, so that the target client can debug the operation of the installed application program according to the debugging instruction, and obtain the debugging result;

接收目标客户端发送的调试结果,并基于调试结果分析应用程序是否存在异常。Receive the debugging result sent by the target client, and analyze whether the application is abnormal based on the debugging result.

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。For other functions of the processor, reference may also be made to the contents recorded in the foregoing embodiments, and details will not be repeated here.

图6为本说明书实施例提供的一种应用程序的调试设备的结构图,该调试设备包括:FIG. 6 is a structural diagram of a debugging device for an application program provided by an embodiment of this specification. The debugging device includes:

接收模块61,接收服务器发送的调试指令;The receiving module 61 receives the debugging instruction sent by the server;

调试模块62,基于调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果;The debugging module 62, based on the debugging instruction, debugs the running situation of the installed application program, and obtains the debugging result;

发送模块63,将调试结果发送给服务器,使服务器根据调试结果分析应用程序是否存在异常。The sending module 63 sends the debugging result to the server, so that the server analyzes whether the application program is abnormal according to the debugging result.

可选地,调试设备还包括:Optionally, the debugging equipment also includes:

确定模块64,在接收服务器发送的调试指令之前,确定问题事件;Determining module 64, before receiving the debugging instruction sent by the server, determining the problem event;

发送模块63,将问题事件发送给服务器。Sending module 63, sending the problem event to the server.

可选地,发送模块63将携带用户标识和/或设备标识的问题事件发送给服务器,使服务器基于用户标识和/或设备标识返回调试指令。Optionally, the sending module 63 sends the problem event carrying the user ID and/or device ID to the server, so that the server returns a debugging instruction based on the user ID and/or device ID.

可选地,调试模块62,基于调试指令,对已安装的应用程序的运行情况进行调试,包括:Optionally, the debugging module 62, based on the debugging instruction, debugs the operation of the installed application program, including:

基于调试指令,确定调试代码;Determine the debugging code based on the debugging instruction;

运行调试代码,对已安装的应用程序的运行情况进行调试。Run the debug code to debug the operation of the installed application.

可选地,调试模块62,基于调试指令,对已安装的应用程序的运行情况进行调试,包括:Optionally, the debugging module 62, based on the debugging instruction, debugs the operation of the installed application program, including:

基于调试指令,确定调试文件;Determine the debug file based on the debug command;

加载调试文件,以基于调试文件确定调试代码,并运行调试代码,对已安装的应用程序的运行情况进行调试。The debug file is loaded to determine the debug code based on the debug file and run the debug code to debug the operation of the installed application program.

可选地,调试模块62,运行调试代码,对已安装的应用程序的运行情况进行调试,包括:Optionally, the debugging module 62 runs debugging codes to debug the operation of the installed application program, including:

若调试代码包含第一断点标识和第二断点标识,则在读取到第一断点标识时,触发开始采集调试结果;在读取到第二断点标识的情况下,触发停止采集调试结果。If the debugging code contains the first breakpoint identifier and the second breakpoint identifier, when the first breakpoint identifier is read, the trigger starts to collect the debugging results; when the second breakpoint identifier is read, the trigger stops the collection Debug results.

可选地,调试模块62,运行调试代码,还包括:Optionally, the debugging module 62, running the debugging code, also includes:

判断调试代码中的调试结果发送开关的开关状态;Judging the switch state of the debugging result sending switch in the debugging code;

若开关状态为开启状态,则将采集到的调节结果发送给服务器。If the switch state is on, the collected adjustment result is sent to the server.

可选地,调试模块62,运行调试代码,包括:Optionally, the debugging module 62, running the debugging code, includes:

启动调试进程,通过调试进程运行调试代码。Start the debugging process and run the debugging code through the debugging process.

可选地,调试模块62,对已安装的应用程序的运行情况进行调试,得到调试结果,包括:Optionally, the debugging module 62 debugs the running conditions of the installed application programs to obtain the debugging results, including:

对加密的调试指令进行解密验证;Decrypt and verify the encrypted debugging instructions;

若解密结果为通过,则基于解密后的调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果。If the decryption result is passed, then based on the decrypted debugging instruction, the running status of the installed application program is debugged to obtain a debugging result.

需要说明的是,本说明书实施例所记载的应用程序的调控设备可以通过软件方式实现,也可以通过硬件方式实现,这里不做具体限定。It should be noted that the control device of the application program described in the embodiments of this specification can be realized by software or by hardware, which is not specifically limited here.

利用本说明书实施例记载的应用程序的调试设备,可以将对已安装的应用程序进行调试后的调试结果反馈给服务器,使服务器对目标客户端进行远程调试。Using the application program debugging device described in the embodiments of this specification, the debugging result after debugging the installed application program can be fed back to the server, so that the server can remotely debug the target client.

基于同一个发明构思,本说明书实施例还提供一种应用程序的调控设备,包括至少一个处理器及存储器,存储器存储有程序,并且被配置成由至少一个处理器执行以下步骤:Based on the same inventive concept, the embodiment of this specification also provides an application control device, including at least one processor and a memory, the memory stores a program, and is configured to perform the following steps by at least one processor:

接收服务器发送的调试指令;Receive debugging instructions sent by the server;

基于调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果;Based on the debugging instruction, debug the running status of the installed application program, and obtain the debugging result;

将调试结果发送给服务器,使服务器根据调试结果分析应用程序是否存在异常。Send the debugging result to the server, so that the server analyzes whether there is an exception in the application program according to the debugging result.

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。For other functions of the processor, reference may also be made to the contents recorded in the foregoing embodiments, and details will not be repeated here.

基于同一个发明构思,本说明书实施例还提供一种计算机可读存储介质,该计算机可读存储介质包括与电子设备结合使用的程序,程序可被处理器执行以完成以下步骤:Based on the same inventive concept, the embodiment of this specification also provides a computer-readable storage medium, the computer-readable storage medium includes a program used in combination with an electronic device, and the program can be executed by a processor to complete the following steps:

接收服务器发送的调试指令;Receive debugging instructions sent by the server;

基于调试指令,对已安装的应用程序的运行情况进行调试,得到调试结果;Based on the debugging instruction, debug the running status of the installed application program, and obtain the debugging result;

将调试结果发送给服务器,使服务器根据调试结果分析应用程序是否存在异常。Send the debugging result to the server, so that the server analyzes whether there is an exception in the application program according to the debugging result.

其中,处理器的其他功能还可以参见上述实施例中记载的内容,这里不再一一赘述。For other functions of the processor, reference may also be made to the contents recorded in the foregoing embodiments, and details will not be repeated here.

在20世纪90年代,对于一个技术的改进可以很明显地区分是硬件上的改进(例如,对二极管、晶体管、开关等电路结构的改进)还是软件上的改进(对于方法流程的改进)。然而,随着技术的发展,当今的很多方法流程的改进已经可以视为硬件电路结构的直接改进。设计人员几乎都通过将改进的方法流程编程到硬件电路中来得到相应的硬件电路结构。因此,不能说一个方法流程的改进就不能用硬件实体模块来实现。例如,可编程逻辑器件(Programmable Logic Device,PLD)(例如现场可编程门阵列(Field Programmable GateArray,FPGA))就是这样一种集成电路,其逻辑功能由用户对器件编程来确定。由设计人员自行编程来把一个数字系统“集成”在一片PLD上,而不需要请芯片制造厂商来设计和制作专用的集成电路芯片。而且,如今,取代手工地制作集成电路芯片,这种编程也多半改用“逻辑编译器(logic compiler)”软件来实现,它与程序开发撰写时所用的软件编译器相类似,而要编译之前的原始代码也得用特定的编程语言来撰写,此称之为硬件描述语言(Hardware Description Language,HDL),而HDL也并非仅有一种,而是有许多种,如ABEL(Advanced Boolean Expression Language)、AHDL(Altera Hardware DescriptionLanguage)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(RubyHardware Description Language)等,目前最普遍使用的是VHDL(Very-High-SpeedIntegrated Circuit Hardware Description Language)与Verilog。本领域技术人员也应该清楚,只需要将方法流程用上述几种硬件描述语言稍作逻辑编程并编程到集成电路中,就可以很容易得到实现该逻辑方法流程的硬件电路。In the 1990s, the improvement of a technology can be clearly distinguished as an improvement in hardware (for example, improvements in circuit structures such as diodes, transistors, and switches) or improvements in software (improvement in method flow). However, with the development of technology, the improvement of many current method flows can be regarded as the direct improvement of the hardware circuit structure. Designers almost always get the corresponding hardware circuit structure by programming the improved method flow into the hardware circuit. Therefore, it cannot be said that the improvement of a method flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (Programmable Logic Device, PLD) (such as a Field Programmable Gate Array (Field Programmable Gate Array, FPGA)) is such an integrated circuit, and its logic function is determined by programming the device by a user. It is programmed by the designer to "integrate" a digital system on a PLD, instead of asking a chip manufacturer to design and make a dedicated integrated circuit chip. Moreover, nowadays, instead of making integrated circuit chips by hand, this kind of programming is mostly realized by "logic compiler (logic compiler)" software, which is similar to the software compiler used when writing programs. The original code of the computer must also be written in a specific programming language, which is called a hardware description language (Hardware Description Language, HDL), and there is not only one kind of HDL, but many kinds, such as ABEL (Advanced Boolean Expression Language) , AHDL (Altera Hardware Description Language), Confluence, CUPL (Cornell University Programming Language), HDCal, JHDL (Java Hardware Description Language), Lava, Lola, MyHDL, PALASM, RHDL (Ruby Hardware Description Language), etc., currently the most commonly used is VHDL (Very-High-Speed Integrated Circuit Hardware Description Language) and Verilog. It should also be clear to those skilled in the art that only a little logical programming of the method flow in the above-mentioned hardware description languages and programming into an integrated circuit can easily obtain a hardware circuit for realizing the logic method flow.

控制器可以按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。The controller may be implemented in any suitable way, for example the controller may take the form of a microprocessor or processor and a computer readable medium storing computer readable program code (such as software or firmware) executable by the (micro)processor , logic gates, switches, Application Specific Integrated Circuit (ASIC), programmable logic controllers, and embedded microcontrollers, examples of controllers include but are not limited to the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20 and Silicone Labs C8051F320, the memory controller can also be implemented as part of the memory's control logic. Those skilled in the art also know that, in addition to realizing the controller in a purely computer-readable program code mode, it is entirely possible to make the controller use logic gates, switches, application-specific integrated circuits, programmable logic controllers, and embedded The same function can be realized in the form of a microcontroller or the like. Therefore, such a controller can be regarded as a hardware component, and the devices included in it for realizing various functions can also be regarded as structures within the hardware component. Or even, means for realizing various functions can be regarded as a structure within both a software module realizing a method and a hardware component.

上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机。具体的,计算机例如可以为个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任何设备的组合。The systems, devices, modules, or units described in the above embodiments can be specifically implemented by computer chips or entities, or by products with certain functions. A typical implementing device is a computer. Specifically, the computer may be, for example, a personal computer, a laptop computer, a cellular phone, a camera phone, a smart phone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or Combinations of any of these devices.

为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。For the convenience of description, when describing the above devices, functions are divided into various units and described separately. Of course, when implementing the present application, the functions of each unit can be implemented in one or more pieces of software and/or hardware.

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。Those skilled in the art should understand that the embodiments of the present invention may be provided as methods, systems, or computer program products. Accordingly, the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It should be understood that each procedure and/or block in the flowchart and/or block diagram, and a combination of procedures and/or blocks in the flowchart and/or block diagram can be realized by computer program instructions. These computer program instructions may be provided to a general purpose computer, special purpose computer, embedded processor, or processor of other programmable data processing equipment to produce a machine such that the instructions executed by the processor of the computer or other programmable data processing equipment produce a An apparatus for realizing the functions specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing apparatus to operate in a specific manner, such that the instructions stored in the computer-readable memory produce an article of manufacture comprising instruction means, the instructions The device realizes the function specified in one or more procedures of the flowchart and/or one or more blocks of the block diagram.

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。These computer program instructions can also be loaded onto a computer or other programmable data processing device, causing a series of operational steps to be performed on the computer or other programmable device to produce a computer-implemented process, thereby The instructions provide steps for implementing the functions specified in the flow chart or blocks of the flowchart and/or the block or blocks of the block diagrams.

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。Memory may include non-permanent storage in computer readable media, in the form of random access memory (RAM) and/or nonvolatile memory such as read only memory (ROM) or flash RAM. Memory is an example of computer readable media.

计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can be implemented by any method or technology for storage of information. Information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read only memory (ROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), Flash memory or other memory technology, Compact Disc Read-Only Memory (CD-ROM), Digital Versatile Disc (DVD) or other optical storage, Magnetic tape cartridge, tape magnetic disk storage or other magnetic storage device or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media excludes transitory computer-readable media, such as modulated data signals and carrier waves.

还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。It should also be noted that the term "comprises", "comprises" or any other variation thereof is intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus comprising a set of elements includes not only those elements, but also includes Other elements not expressly listed, or elements inherent in the process, method, commodity, or apparatus are also included. Without further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of additional identical elements in the process, method, article or apparatus comprising said element.

本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。This application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.

本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。Each embodiment in this specification is described in a progressive manner, the same and similar parts of each embodiment can be referred to each other, and each embodiment focuses on the differences from other embodiments. In particular, for the system embodiment, since it is basically similar to the method embodiment, the description is relatively simple, and for relevant parts, refer to part of the description of the method embodiment.

以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。The above descriptions are only examples of the present application, and are not intended to limit the present application. For those skilled in the art, various modifications and changes may occur in this application. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application shall be included within the scope of the claims of the present application.

Claims (20)

1. a kind of adjustment method of application program, including:
Determine debugging instruction;
The debugging instruction is sent to destination client, makes the destination client according to the debugging instruction to mounted The running situation of application program is debugged, and obtains debugging result;
The debugging result that the destination client is sent is received, and analyze the application program based on the debugging result to be It is no exception to be present.
2. adjustment method as claimed in claim 1, the determination debugging instruction, including:
It is determined that problem incident corresponding with the destination client;
The generation debugging instruction corresponding with described problem event.
3. adjustment method as claimed in claim 1, debugging instruction is determined, including:
Determine debugging code corresponding to debugger object and the debugger object;
The debugging code is handled, obtains debugging file;
The debugging instruction is generated based on the debugging file.
4. adjustment method as claimed in claim 3, handling the debugging code, debugging file is obtained, including:
The debugging code is encapsulated into file destination;
Compare the difference between source file and the file destination corresponding to the debugger object, and be based on the difference, obtain Debugging file.
5. the adjustment method as described in claim 3 or 4, debugging code corresponding to the debugger object is determined, including:
Determine source code corresponding to the debugger object;
The first breakpoint mark and the second breakpoint mark are edited in the source code, and volume is performed to the source code after editor Operation is translated, obtains debugging code corresponding to the debugger object;
Wherein, first breakpoint identifies starts for characterizing debugging, and second breakpoint identifies to be terminated for characterizing debugging.
6. adjustment method as claimed in claim 5, before the source code after to editor performs compilation operations, the tune Method for testing also includes:
Debugging result is edited in the source code and sends switch;
Wherein, the debugging result sends the on off state switched and is used to determine whether the debugging result sending server.
7. adjustment method as claimed in claim 5, before the source code after to editor performs compilation operations, the tune Method for testing also includes:
Debugging process open command is edited in the source code;
Wherein, the debugging process open command is used for instruction terminal equipment for debugger object unlatching debugging process.
8. adjustment method as claimed in claim 1, sent by the debugging instruction to before destination client, the debugging Method also includes:
The debugging instruction is encrypted.
9. user's row in application program running is included adjustment method as claimed in claim 1, in the debugging result For the one or more in the service data of data and the application program.
10. a kind of adjustment method of application program, including:
The debugging instruction that the reception server is sent;
Based on the debugging instruction, the running situation of mounted application program is debugged, obtains debugging result;
The debugging result is sent to the server, server is analyzed the application program according to the debugging result is It is no exception to be present.
11. adjustment method as claimed in claim 10, before the debugging instruction that the reception server is sent, the adjustment method Also include:
Determine problem incident;
Described problem event is sent to server.
12. adjustment method as claimed in claim 10, based on the debugging instruction, the operation feelings to mounted application program Condition is debugged, including:
Based on the debugging instruction, debugging code is determined;
The debugging code is run, the running situation of mounted application program is debugged.
13. adjustment method as claimed in claim 10, based on the debugging instruction, the operation feelings to mounted application program Condition is debugged, in addition to:
Based on the debugging instruction, debugging file is determined;
The debugging file is loaded, to determine debugging code based on the debugging file, and the debugging code is run, to having pacified The running situation of the application program of dress is debugged.
14. the adjustment method as described in claim 12 or 13, the debugging code is run, including:
If the debugging code includes the first breakpoint mark and the second breakpoint mark, the first breakpoint mark is being read When, triggering starts to gather the debugging result;In the case where reading the second breakpoint mark, triggering stops described in collection Debugging result.
15. the adjustment method as described in claim 12 or 13, the debugging code is run, including:
Judge that the debugging result in the debugging code sends the on off state of switch;
If the on off state is opening, the regulation result collected is sent to the server.
16. the adjustment method as described in claim 12 or 13, the debugging code is run, including:
Start-up and Adjustment process, the debugging code is run by the debugging process.
17. a kind of commissioning device of application program, including:
Determining module, determine debugging instruction;
Sending module, the debugging instruction is sent to destination client, makes the destination client according to the debugging instruction The running situation of mounted application program is debugged, obtains debugging result;
Receiving module, the debugging result that the destination client is sent is received, and based on described in debugging result analysis Application program is with the presence or absence of abnormal.
18. a kind of commissioning device of application program, including:
Receiving module, the debugging instruction that the reception server is sent;
Debugging module, based on the debugging instruction, the running situation of mounted application program is debugged, obtain debugging knot Fruit;
Sending module, the debugging result is sent to the server, makes server according to debugging result analysis Application program is with the presence or absence of abnormal.
19. a kind of commissioning device of application program, including at least one processor and memory, the memory storage have journey Sequence, and be configured to by least one computing device following steps:
Determine debugging instruction;
The debugging instruction is sent to destination client, makes the destination client according to the debugging instruction to mounted The running situation of application program is debugged, and obtains debugging result;
The debugging result that the destination client is sent is received, and analyze the application program based on the debugging result to be It is no exception to be present.
20. a kind of commissioning device of application program, including at least one processor and memory, the memory storage have journey Sequence, and be configured to by least one computing device following steps:
The debugging instruction that the reception server is sent;
Based on the debugging instruction, the running situation of mounted application program is debugged, obtains debugging result;
The debugging result is sent to the server, server is analyzed the application program according to the debugging result is It is no exception to be present.
CN201710734665.9A 2017-08-24 2017-08-24 The adjustment method and equipment of a kind of application program Pending CN107678938A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710734665.9A CN107678938A (en) 2017-08-24 2017-08-24 The adjustment method and equipment of a kind of application program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710734665.9A CN107678938A (en) 2017-08-24 2017-08-24 The adjustment method and equipment of a kind of application program

Publications (1)

Publication Number Publication Date
CN107678938A true CN107678938A (en) 2018-02-09

Family

ID=61134559

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710734665.9A Pending CN107678938A (en) 2017-08-24 2017-08-24 The adjustment method and equipment of a kind of application program

Country Status (1)

Country Link
CN (1) CN107678938A (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218407A (en) * 2018-08-14 2019-01-15 平安普惠企业管理有限公司 Code management-control method and terminal device based on log monitoring technology
CN110515831A (en) * 2019-07-15 2019-11-29 平安普惠企业管理有限公司 Breakpoint debugging method, debugging system, computer equipment and computer storage medium
CN110908899A (en) * 2019-11-08 2020-03-24 北京奇艺世纪科技有限公司 Application program debugging method, mobile terminal and computer readable storage medium
CN111049912A (en) * 2019-12-17 2020-04-21 用友网络科技股份有限公司 Debugging method, test development device, and computer-readable storage medium
CN111045918A (en) * 2019-07-12 2020-04-21 华控清交信息科技(北京)有限公司 Method, device, client, storage medium and system for debugging program
CN111045919A (en) * 2019-07-12 2020-04-21 华控清交信息科技(北京)有限公司 Method, device, background server, storage medium and system for debugging program
CN111061638A (en) * 2019-12-16 2020-04-24 上海钧正网络科技有限公司 Method and device for debugging iOS system and server
CN111061623A (en) * 2019-07-12 2020-04-24 华控清交信息科技(北京)有限公司 Method, device, middle platform server, storage medium and system for debugging program
CN111782530A (en) * 2020-06-30 2020-10-16 北京奇艺世纪科技有限公司 Remote debugging method, device and system, electronic equipment and storage medium
CN112306878A (en) * 2020-10-30 2021-02-02 北京深演智能科技股份有限公司 Remote debugging method, device and system
CN112327675A (en) * 2019-09-30 2021-02-05 上海华兴数字科技有限公司 Engineering mechanical equipment debugging method and system
US20210089419A1 (en) * 2019-09-25 2021-03-25 Alibaba Group Holding Limited Debugging unit and processor
CN113821325A (en) * 2021-09-23 2021-12-21 北京光启元数字科技有限公司 A method, apparatus, device and medium for calling application program
CN114625651A (en) * 2022-03-18 2022-06-14 北京字跳网络技术有限公司 Application program debugging method and device, computer equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040040013A1 (en) * 2002-08-26 2004-02-26 Mohit Kalra Time-based breakpoints in debuggers
CN101067798A (en) * 2007-06-14 2007-11-07 华南理工大学 A Dynamic Probe Method and Its Application in Embedded System
CN101216801A (en) * 2007-12-27 2008-07-09 东信和平智能卡股份有限公司 Embedded system debug method
CN101719093A (en) * 2009-12-09 2010-06-02 上海普元信息技术有限责任公司 System and method for realizing cross-browser Javascript debugging in enterprise Web application system
CN101739333A (en) * 2008-11-25 2010-06-16 国际商业机器公司 Method, tool and device for debugging application program
CN104298591A (en) * 2013-07-18 2015-01-21 阿里巴巴集团控股有限公司 WebApp remote debugging method and system
CN105847325A (en) * 2016-03-14 2016-08-10 广州酷狗计算机科技有限公司 Method and device for debugging application client side

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040040013A1 (en) * 2002-08-26 2004-02-26 Mohit Kalra Time-based breakpoints in debuggers
CN101067798A (en) * 2007-06-14 2007-11-07 华南理工大学 A Dynamic Probe Method and Its Application in Embedded System
CN101216801A (en) * 2007-12-27 2008-07-09 东信和平智能卡股份有限公司 Embedded system debug method
CN101739333A (en) * 2008-11-25 2010-06-16 国际商业机器公司 Method, tool and device for debugging application program
CN101719093A (en) * 2009-12-09 2010-06-02 上海普元信息技术有限责任公司 System and method for realizing cross-browser Javascript debugging in enterprise Web application system
CN104298591A (en) * 2013-07-18 2015-01-21 阿里巴巴集团控股有限公司 WebApp remote debugging method and system
CN105847325A (en) * 2016-03-14 2016-08-10 广州酷狗计算机科技有限公司 Method and device for debugging application client side

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109218407B (en) * 2018-08-14 2022-10-25 平安普惠企业管理有限公司 Code management and control method based on log monitoring technology and terminal equipment
CN109218407A (en) * 2018-08-14 2019-01-15 平安普惠企业管理有限公司 Code management-control method and terminal device based on log monitoring technology
CN111061623B (en) * 2019-07-12 2023-08-22 华控清交信息科技(北京)有限公司 Method, device, middle server, storage medium and system for debugging program
CN111045919B (en) * 2019-07-12 2023-08-22 华控清交信息科技(北京)有限公司 Method, device, background server, storage medium and system for debugging program
CN111045918A (en) * 2019-07-12 2020-04-21 华控清交信息科技(北京)有限公司 Method, device, client, storage medium and system for debugging program
CN111045919A (en) * 2019-07-12 2020-04-21 华控清交信息科技(北京)有限公司 Method, device, background server, storage medium and system for debugging program
CN111045918B (en) * 2019-07-12 2023-09-22 华控清交信息科技(北京)有限公司 Method, device, client, storage medium and system for debugging program
CN111061623A (en) * 2019-07-12 2020-04-24 华控清交信息科技(北京)有限公司 Method, device, middle platform server, storage medium and system for debugging program
CN110515831A (en) * 2019-07-15 2019-11-29 平安普惠企业管理有限公司 Breakpoint debugging method, debugging system, computer equipment and computer storage medium
US20210089419A1 (en) * 2019-09-25 2021-03-25 Alibaba Group Holding Limited Debugging unit and processor
US11755441B2 (en) * 2019-09-25 2023-09-12 Alibaba Group Holding Limited Debugging unit and processor
CN112327675A (en) * 2019-09-30 2021-02-05 上海华兴数字科技有限公司 Engineering mechanical equipment debugging method and system
CN110908899A (en) * 2019-11-08 2020-03-24 北京奇艺世纪科技有限公司 Application program debugging method, mobile terminal and computer readable storage medium
CN111061638A (en) * 2019-12-16 2020-04-24 上海钧正网络科技有限公司 Method and device for debugging iOS system and server
CN111049912A (en) * 2019-12-17 2020-04-21 用友网络科技股份有限公司 Debugging method, test development device, and computer-readable storage medium
CN111782530A (en) * 2020-06-30 2020-10-16 北京奇艺世纪科技有限公司 Remote debugging method, device and system, electronic equipment and storage medium
CN111782530B (en) * 2020-06-30 2023-10-10 北京奇艺世纪科技有限公司 Remote debugging method, device, system, electronic equipment and storage medium
CN112306878A (en) * 2020-10-30 2021-02-02 北京深演智能科技股份有限公司 Remote debugging method, device and system
CN112306878B (en) * 2020-10-30 2024-03-29 北京深演智能科技股份有限公司 Remote debugging method, device and system
CN113821325A (en) * 2021-09-23 2021-12-21 北京光启元数字科技有限公司 A method, apparatus, device and medium for calling application program
CN114625651A (en) * 2022-03-18 2022-06-14 北京字跳网络技术有限公司 Application program debugging method and device, computer equipment and storage medium

Similar Documents

Publication Publication Date Title
CN107678938A (en) The adjustment method and equipment of a kind of application program
CN106909498B (en) Method and system for injecting fault into Java program
US10216509B2 (en) Continuous and automatic application development and deployment
CN110659031B (en) Application compilation method, device, electronic device and storage medium
CN111090433A (en) Data processing method, device and storage medium
CN107832059B (en) Code static analysis method and device based on Makefile
CN107357726A (en) A kind of application compatibility method of testing and device
TWI684916B (en) Function selection method and server
CN109284222B (en) Software unit, project testing method, device and equipment in data processing system
US10606586B2 (en) Application architecture generation
CN113805882A (en) Method and device for developing application program, electronic equipment and storage medium
CN111459499A (en) Program compiling method and device, computer storage medium and electronic equipment
US10083029B2 (en) Detect application defects by correlating contracts in application dependencies
EP3447635A1 (en) Application architecture generation
US9117020B2 (en) Determining control flow divergence due to variable value difference
CN109614107A (en) A kind of integrated approach and device of Software Development Kit
CN108304313B (en) Device, client and method for data testing
CN114253587A (en) Application program updating method and device, electronic equipment and readable storage medium
CN106610845B (en) Information management method, device, server and system
CN117348848A (en) Operator development and processing method and device, electronic equipment, system and storage medium
WO2022184112A1 (en) Android system application debugging method and apparatus, program, medium, and electronic device
CN105446886A (en) Computer program debugging method and device
US20240329983A1 (en) Development environment integrated with infrastructure cost estimation system
CN115629997B (en) A testing method, system, storage medium and equipment
KR20130020135A (en) System and method of providing the developer list of developing code simultaneously in an integrated development environment

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200925

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180209