Remote debugging method and system, server, product and storage medium

By establishing a mapping relationship between the network service component and the transport layer proxy component, and proxying the debugging ports of multiple applications, the problem of high resource consumption in cross-network remote debugging is solved, and efficient and low-cost remote debugging is achieved.

CN120705074APending Publication Date: 2025-09-26HANGZHOU ALICLOUD FEITIAN INFORMATION TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410330154.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-03-20
Publication Date
2025-09-26

AI Technical Summary

Technical Problem

During remote debugging, cross-network communication consumes a lot of resources, especially when the debugging client and the debugged application are deployed in different networks. Traditional solutions require configuring a public IP for each application, resulting in excessive consumption of network resources.

Method used

By establishing a mapping relationship between the network service component and the transport layer proxy component, the transport layer proxy component is used to proxy the debugging ports of multiple applications, the number of network service components is reduced, and remote debugging across the network is achieved.

Benefits of technology

It reduces the resource cost of cross-network remote debugging, reduces the number of entry services, and improves the convenience of security management and debugging efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120705074A_ABST
    Figure CN120705074A_ABST
Patent Text Reader

Abstract

The embodiment of the invention provides a remote debugging method and system, a server, a product and a storage medium. In a remote debugging system, a network service component can be bound with a network address in a first network, a transport layer agent component is arranged between the network service component and an application program in a second network to serve as a communication bridge, and communication interaction of a transport layer can be achieved between a plurality of ports of the transport layer and a plurality of application programs. Furthermore, remote debugging services of a plurality of application programs can be agented based on one network service component, so that the number of network service components required by cross-network remote debugging operation is greatly reduced, and the resource cost of cross-network remote debugging is reduced. Besides, the network service component is used as a unified entrance of the second network to perform communication interaction with the debugging client in the first network, so that the number of entrance services of the second network is reduced, and compared with a traditional scheme, security control is more convenient.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to a remote debugging method, system, server, product, and storage medium. Background Art

[0002] Remote debugging of applications is a crucial step in software development and testing. It allows developers to control and debug applications running on a remote server or device from their local computer. During remote debugging, a communication channel must be established between a debugging client (typically a debugging tool on the local computer) and a server (remote device or server). Based on this communication channel, the debugger can transmit debugging commands and data from the client to the remote device, and debugging results on the remote device can be returned to the debugging client for viewing and analysis. However, when the debugging client and the application being debugged are deployed on different networks, establishing a cross-network communication channel between the debugging client and the application consumes significant resources. Therefore, a new solution is needed. Summary of the Invention

[0003] Various aspects of the present application provide a remote debugging method, system, server, product, and storage medium for implementing cross-network remote debugging of an application program at a relatively low resource cost.

[0004] An embodiment of the present application provides a remote debugging system, comprising: a debugging client located in a first network, a network service component, a transport layer proxy component, and multiple applications located in a second network; the transport layer proxy component acts as a proxy for the debugging ports of the multiple applications; wherein the debugging client is used to obtain debugging data according to the user's debugging operation and send the debugging data to the network service component; the network service component is bound to a network address located in the first network, and is used to: receive debugging data sent by the debugging client through the network address; obtain port information corresponding to the debugging data, and send the debugging data and the port information to the transport layer proxy component; wherein the transport layer proxy component is used to: receive debugging data and corresponding port information sent by the network service component; determine a target debugging port number corresponding to the debugging data from the debugging ports of the multiple applications being proxied according to the port information; and send the debugging data to a target application corresponding to the target debugging port number according to a transport layer protocol to debug the target application.

[0005] An embodiment of the present application also provides a remote debugging method, including: a network service component receives debugging data sent by a debugging client in a bound first network through a network address in the first network; obtains port information corresponding to the debugging data; sends the debugging data and the port information to a transport layer proxy component, so that the transport layer proxy component determines the target debugging port number corresponding to the debugging data from the debugging ports of multiple proxy applications according to the port information and sends the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol; the multiple applications are located in a second network.

[0006] Optionally, obtaining the port information corresponding to the debugging data includes: obtaining the first port number of the network service component carried by the debugging data; and determining the second port number corresponding to the first port number in the transport layer proxy component according to the mapping relationship between the port number in the network service component and the port number in the transport layer proxy component, as the port information.

[0007] An embodiment of the present application also provides a remote debugging method, including: a transport layer proxy component receives debugging data and corresponding port information sent by a network service component; the debugging data is obtained by the network service component from a debugging client in the first network through a network address in the bound first network; based on the port information, a target debugging port number corresponding to the debugging data is determined from the debugging ports of multiple applications of the proxy, and the multiple applications are located in a second network; according to the transport layer protocol, the debugging data is sent to a target application corresponding to the target debugging port number to debug the target application.

[0008] Optionally, the port information includes: a second port number in the transport layer proxy component determined based on a first port number in the network service component, the first port number being carried by the debug data; and determining a target debug port number corresponding to the debug data from the debug ports of the multiple applications based on the port information, including: determining a target debug port number corresponding to the second port number based on a mapping relationship between the port number in the transport layer proxy component and the debug ports of the multiple applications it proxies.

[0009] Optionally, the method further includes: responding to a user's proxy configuration operation, obtaining port configuration data provided by the user; and updating the mapping relationship between the port number in the transport layer proxy component and the debugging ports of the multiple applications according to the port configuration data.

[0010] Optionally, according to the transport layer protocol, after sending the debugging data to the target application corresponding to the target debugging port number, it also includes: monitoring the target debugging port number; when monitoring the debugging result data returned by the target debugging port number, using the second port number to send the debugging result data to the network service component, so that the network service component provides the debugging result data to the debugging client.

[0011] An embodiment of the present application also provides a server, comprising: a memory and a processor; the memory is used to store one or more computer instructions; the processor is used to execute the one or more computer instructions to: execute the steps in the method provided in the embodiment of the present application.

[0012] An embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed by a processor, can implement the steps of the method provided in the embodiment of the present application.

[0013] An embodiment of the present application also provides a computer program product, including a computer program / instruction, which, when executed by a processor, can implement the steps in the method provided in the embodiment of the present application.

[0014] In the remote debugging method provided in the embodiment of the present application, the network service component can be bound to the network address in the first network, and a transport layer proxy component is set as a communication bridge between the network service component and the application in the second network, which can utilize the larger number of ports of the transport layer to realize the communication interaction between the transport layer and multiple applications. Furthermore, the remote debugging service of multiple applications can be proxy-based based on one network service component, which greatly reduces the number of network service components required for remote debugging operations across networks and reduces the resource cost of remote debugging across networks. In addition, the network service component is used as the unified entrance of the second network to communicate and interact with the debugging client in the first network, which reduces the number of entry services of the second network and is more convenient for security management and control compared to traditional solutions. BRIEF DESCRIPTION OF THE DRAWINGS

[0015] The drawings described herein are used to provide a further understanding of the present application and constitute a part of the present application. The illustrative embodiments of the present application and their descriptions are used to explain the present application and do not constitute an improper limitation on the present application. In the drawings:

[0016] Figure 1 A schematic diagram of a cross-network remote debugging solution;

[0017] Figure 2 A schematic diagram of the structure of a remote debugging system provided in an embodiment of the present application;

[0018] Figure 3 A schematic diagram of signaling interaction of a remote debugging system provided by an exemplary embodiment of the present application;

[0019] Figure 4 A flowchart of a remote debugging method provided by an exemplary embodiment of the present application when executed by a network service component;

[0020] Figure 5 A flow chart of a remote debugging method provided by an exemplary embodiment of the present application when executed by a transport layer proxy component;

[0021] Figure 6 A schematic diagram of the structure of a server provided for an exemplary embodiment of the present application. DETAILED DESCRIPTION

[0022] To make the purpose, technical solutions, and advantages of this application more clear, the technical solutions of this application will be clearly and completely described below in conjunction with the specific embodiments of this application and the corresponding drawings. Obviously, the embodiments described are only part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by ordinary technicians in this field without making creative efforts are within the scope of protection of this application.

[0023] The terms used in the embodiments of the present invention are for the purpose of describing specific embodiments only and are not intended to limit the present invention. The singular forms "a," "the," and "the" used in the embodiments of the present invention and the appended claims are also intended to include plural forms, unless the context clearly indicates otherwise. "A plurality" generally includes at least two, but does not exclude the inclusion of at least one.

[0024] It should be understood that the term "and / or" as used herein is merely a description of the relationship between associated objects, indicating that three possible relationships exist. For example, "A and / or B" can represent: A exists alone, A and B exist simultaneously, or B exists alone. Furthermore, the character " / " in this document generally indicates that the associated objects are in an "or" relationship.

[0025] It should also be noted that the terms "include," "comprises," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a product or system comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such product or system. In the absence of further limitations, an element defined by the phrase "comprises a..." does not exclude the presence of other identical elements in the product or system comprising the element.

[0026] In some remote debugging scenarios, the debugging client and the application being debugged are deployed on different networks. For example, the application being debugged is deployed in a Virtual Private Cloud (VPC), while the debugging client is deployed in a public cloud or on any terminal device on the public network. In some solutions, a network service component facing the public network can be configured for the debug port of each application in the VPC. This network service component is bound to a public IP address, and the debugging client on the public network can use this network service component to perform cross-network remote debugging of the application.

[0027] Figure 1 A cross-network remote debugging solution is shown as follows: Figure 1 As shown, each application in the VPC needs to be bound to a network service component facing the public network, and each network service component is bound to a Figure 1 The elastic public IP address shown in the figure. Furthermore, applications in the VPC can communicate with debugging clients on the public network based on the elastic public IP (Internet Protocol) address bound to their corresponding network service component. In this cross-network remote debugging solution, if there are many applications deployed in the VPC, configuring a network service component with a public IP address for each application to be debugged will result in a large consumption of network resources.

[0028] In response to the above technical problems, a solution is provided in some embodiments of the present application. The technical solutions provided in each embodiment of the present application are described in detail below with reference to the accompanying drawings.

[0029] Figure 2 This is a flow chart of a remote debugging system provided by an exemplary embodiment of the present application. Figure 2 As shown, the remote debugging system 200 may include: a debugging client 201 , a network service component 202 , a transport layer proxy component 203 and a plurality of applications 204 .

[0030] Debug client 201 is located in a first network 205, while network service component 202, transport layer proxy component 203, and multiple applications 204 are located in a second network 206. First network 205 and second network 206 are different networks. For example, in some scenarios, first network 205 can be a public network, and second network 206 can be a virtual private network. In other scenarios, first network 205 can be private network A, and second network 206 can be another private network B. This embodiment does not impose any limitations.

[0031] The debugging client 201 can be run on any terminal device in the first network 205, and is used to obtain debugging data based on the user's debugging operations and send the debugging data to the network service component 202. The debugging data may include debugging instructions and / or test data for simulating input operations of the application, which is not limited in this embodiment.

[0032] The network service component 202 may be bound to a network address in the first network 205 to expose components or services in the second network 206 to components or services in the first network 205. The network address of the network service component 202 in the first network 205 may include an IP address and a port number in the first network. In some optional embodiments, taking the first network 205 as a public network as an example, the network service component 202 may be implemented as an EIP (Elastic IP Address) component, or may be implemented as a load balancing service (Server Load Balancer, SLB) instance that can access the public network, which is not limited in this embodiment.

[0033] The debugging client 201 and the network service component 202 can communicate and interact via an application layer protocol. For example, the debugging client 201 can send debugging data to the network service component 202 in the form of HTTP data packets according to the HTTP protocol.

[0034] The network service component 202 is primarily configured to receive debugging data sent by the debugging client 201 based on the application layer protocol and obtain the port information corresponding to the debugging data. The port information is used to determine the destination port corresponding to the debugging data. The network service component 202 can then send the debugging data and port information to the transport layer proxy component 203.

[0035] In remote debugging system 200, transport layer proxy component 203 is primarily used to proxy the debug ports of multiple applications 204 and, based on the transport layer protocol, facilitate data transmission between network service component 202 and multiple applications 204. In some optional embodiments, transport layer proxy component 203 can be implemented as an Nginx proxy service. The Nginx proxy service is a reverse proxy service that consumes little memory and has strong concurrency capabilities. In this embodiment, the Nginx reverse proxy service is primarily used to route data received from the external environment (i.e., first network 205) to a designated application within the internal environment (i.e., second network 206). Transport layer proxy component 203 can receive debug data and corresponding port information sent by network service component 202 and, based on this port information, determine the target debug port number corresponding to the debug data from the debug ports of the multiple proxied applications. After determining the target debug port number, transport layer proxy component 203 can send debug data to the target debug port number according to the transport layer protocol to debug the target application corresponding to the target debug port number.

[0036] In some optional embodiments, the network service component 202 may store a mapping relationship between the port number therein and the port number in the transport layer proxy component 203. Figure 3 As shown, the mapping relationship can be expressed as: the mapping relationship between the port number SLB-P1 in the network service component 202 and the port number Nginx-P1 in the transport layer proxy component 203, the mapping relationship between the port number SLB-P2 in the network service component 202 and the port number Nginx-P2 in the transport layer proxy component 203,..., the mapping relationship between the port number SLB-Pn in the network service component 202 and the port number Nginx-Pn in the transport layer proxy component 203.

[0037] Based on this, when the network service component 202 obtains the port information corresponding to the debugging data, it can obtain the first port number of the network service component 202 carried by the debugging data, and determine the second port number corresponding to the first port number in the transport layer proxy component 203 according to the mapping relationship between the port number in the network service component 202 and the port number in the transport layer proxy component 203 as the port information. Figure 3 As shown, the first port number carried by the debugging data is SLB-Pi, and the second port number determined according to the mapping relationship is Nginx-Pi.

[0038] Optionally, the transport layer proxy component 203 may store a mapping relationship between the port number and the debug port numbers of the multiple applications it proxies. Figure 3As shown, the mapping relationship can be expressed as: the mapping relationship between the port number Nginx-P1 in the transport layer proxy component 203 and the debugging port number APP1-DP1 of the first application (APP1), the mapping relationship between the port number Nginx-P2 in the transport layer proxy component 203 and the debugging port number APP2-DP2 of the second application (APP2), ..., the mapping relationship between the port number Nginx-Pn in the transport layer proxy component 203 and the debugging port number APPn-DPn of the nth application (APPn).

[0039] Correspondingly, when the transport layer proxy component 203 determines the target debug port number corresponding to the debug data from the debug ports of the multiple applications based on the port information, it can determine the target debug port number corresponding to the second port number based on the mapping relationship between the port number in the transport layer proxy component 203 and the debug ports of the multiple applications it proxies.

[0040] In other optional embodiments, the network service component 202 may hide its own port number and directly save the mapping relationship between the port number of the transport layer proxy component 203 and the debugging port numbers of multiple applications. In this embodiment, the debugging data sent by the debugging client 201 may directly carry the port number of the transport layer proxy component 203 (i.e., the second port number). Based on this, when the network service component 202 obtains the port information corresponding to the debugging data, it can obtain the second port number of the transport layer proxy component 203 carried by the debugging data, and determine the target debugging port number corresponding to the second port number as the port information based on the mapping relationship between the port number of the transport layer proxy component 203 and the debugging port numbers of multiple applications that it saves. Accordingly, after receiving the port information, the transport layer proxy component 203 can parse the target debugging port number from the port information without having to perform a mapping query operation.

[0041] In this embodiment, the network service component 202 can be bound to at least one IP address in the first network, and any IP address has 2^16 ports, with port numbers ranging from 0 to 65535. Accordingly, the port number of an IP address of the network service component 202 can be mapped to up to 2^16 port numbers of the transport layer proxy component 203. For the transport layer proxy component 203 corresponding to any IP address, the number of debug ports of the application programs that it can proxy can also be up to 2^16. Furthermore, in the remote debugging system 200, deploying one network service component 202 can indirectly proxy the remote debugging operations of up to 2^16 applications, thereby greatly reducing the consumption of load balancing resources.

[0042] In some optional embodiments, the number of transport layer proxy components 203 can be multiple, and multiple transport layer proxy components can jointly assume the proxy service of the debug ports of multiple applications. For example, the first transport layer proxy component is used to proxy the debug ports of applications 1 to 10,000, the second transport layer proxy component is used to proxy the debug ports of applications 10,001 to 20,000, and so on. In an actual remote debugging scenario, multiple transport layer proxy components can concurrently receive the debugging data and port information sent by the network service component 202, and can concurrently send the debugging data to the corresponding application based on the received port information, thereby improving debugging efficiency. When the transport layer proxy component is implemented as an Nginx proxy service, since the Nginx proxy service has the characteristic of taking up less memory, it can improve the efficiency of remote debugging across the network while consuming fewer resources compared to traditional solutions.

[0043] In some optional embodiments, the mapping between the port numbers in the transport layer proxy component 203 and the debug ports of the multiple applications it proxies can be dynamically updated based on changes in the applications deployed in the second network 206. Optionally, the transport layer proxy component 203 can obtain user-provided port configuration data in response to a user's proxy configuration operation. This port configuration data can be used to configure the binding relationship between the debug ports of one or more applications and ports in the transport layer proxy component 203. For example, when a new application is added to the second network 206, the user can obtain the debug port number of the newly added application and configure a binding relationship between the debug port number and an unbound port number in the transport layer proxy component 203 in the port configuration data. For example, when an application is deleted from the second network 206, the user can obtain the debug port number of the deleted application and unbind the debug port number from the corresponding port number in the transport layer proxy component 203 in the port configuration data. After obtaining the port configuration data, transport layer proxy component 203 can read the port binding relationship in the port configuration data and update the mapping relationship between the port number and the debug port of the multiple applications in transport layer proxy component 203. When subsequently receiving debug data and port information sent by network service component 202, the target debug port number corresponding to the debug data can be determined based on the updated mapping relationship. This will not be described further.

[0044] In this embodiment, by dynamically updating the mapping relationship between the port number in the transport layer proxy component 203 and the debugging ports of multiple applications it proxies, the reuse and horizontal expansion of the transport layer proxy component 203 are more flexibly achieved, and the remote debugging needs of a large number of applications in the second network 206 can be met without increasing additional resource costs.

[0045] In some embodiments, the transport layer protocol may be the Transmission Control Protocol (TCP). Figure 3 As shown, the transport layer agent component 203 can generate a TCP message according to the debugging data and send the TCP message to the target debugging port number.

[0046] After receiving the TCP message, the target application can execute the debugging operation corresponding to the debugging data. In remote debugging system 200, transport layer proxy component 203 can monitor the debug ports of multiple applications it proxies, waiting to receive data provided by these applications. When transport layer proxy component 203 monitors data sent by any application through the debug port, it can send this data to debugging client 201 via network service component 202.

[0047] Taking the debug port number of the target application as an example, in some optional embodiments, after the transport layer proxy component 203 sends the debug data to the target application corresponding to the target debug port number according to the transport layer protocol, it can monitor the target debug port number. Upon receiving the debug result data returned by the target debug port number, the transport layer proxy component 203 can send the debug result data to the network service component 202. After receiving the debug result data, the application proxy component 202 can provide the debug result data to the debugging client 201 for display.

[0048] In this embodiment, the network service component can be bound to the network address in the first network, and a transport layer proxy component is set as a communication bridge between the network service component and the application in the second network. The larger number of ports of the transport layer can be used to implement transport layer communication interaction with multiple applications. Furthermore, based on a single network service component, the remote debugging service of multiple applications can be proxy-based, which greatly reduces the number of network service components required for cross-network remote debugging operations and reduces the resource cost of cross-network remote debugging. In addition, the network service component is used as the unified entrance of the second network to communicate and interact with the debugging client in the first network, which reduces the number of entry services of the second network and is more convenient for security management and control compared to traditional solutions.

[0049] In addition to the remote debugging system described in the aforementioned embodiment, the embodiment of the present application also provides a remote debugging method, which will be described below with reference to the accompanying drawings.

[0050] Figure 4 This is a flow chart of the remote debugging method provided by an exemplary embodiment of the present application when it is executed on the network service component side. Figure 4 As shown, the method includes:

[0051] Step 401: The network service component receives debugging data sent by a debugging client in a bound first network through a network address in the first network.

[0052] Step 402: Obtain port information corresponding to the debugging data.

[0053] Step 403: Send the debugging data and the port information to the transport layer proxy component, so that the transport layer proxy component determines the target debugging port number corresponding to the debugging data from the debugging ports of multiple applications of the proxy according to the port information and sends the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol; the multiple applications are located in the second network.

[0054] Optionally, a method of obtaining the port information corresponding to the debugging data may include: obtaining the first port number of the network service component carried by the debugging data; and determining the second port number corresponding to the first port number in the transport layer proxy component as the port information based on the mapping relationship between the port number in the network service component and the port number in the transport layer proxy component.

[0055] In this embodiment, the network service component can be bound to the network address in the first network, and a transport layer proxy component is set as a communication bridge between the network service component and the application in the second network. The larger number of ports of the transport layer can be used to realize transport layer communication interaction with multiple applications. Furthermore, based on a single network service component, the remote debugging service of multiple applications can be proxy-based, which greatly reduces the number of network service components required for cross-network remote debugging operations and reduces the resource cost of cross-network remote debugging. In addition, the network service component is used as the unified entrance of the second network to communicate and interact with the debugging client in the first network, which reduces the number of entry services of the second network and is more convenient for security management and control compared to traditional solutions.

[0056] Figure 5 This is a flow chart of the remote debugging method provided by an exemplary embodiment of the present application when it is executed on the transport layer proxy component side. Figure 5 As shown, the method includes:

[0057] Step 501: The transport layer proxy component receives debugging data and corresponding port information sent by the network service component; the debugging data is obtained by the network service component from the debugging client in the first network through the network address in the bound first network.

[0058] Step 502: Determine a target debugging port number corresponding to the debugging data from debugging ports of multiple application programs of the proxy according to the port information, wherein the multiple application programs are located in the second network.

[0059] Step 503: Send the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol to debug the target application.

[0060] Optionally, the port information includes: a second port number in the transport layer proxy component determined based on a first port number in the network service component, the first port number being carried by the debug data; accordingly, a method of determining a target debug port number corresponding to the debug data from the debug ports of the multiple applications based on the port information may include: determining the target debug port number corresponding to the second port number based on a mapping relationship between the port number in the transport layer proxy component and the debug ports of the multiple applications it proxies.

[0061] Optionally, the method further includes: responding to a user's proxy configuration operation, obtaining port configuration data provided by the user; and updating the mapping relationship between the port number in the transport layer proxy component and the debug ports of the multiple applications according to the port configuration data.

[0062] Optionally, according to the transport layer protocol, after sending the debugging data to the target application corresponding to the target debugging port number, it also includes: monitoring the target debugging port number; when monitoring the debugging result data returned by the target debugging port number, using the second port number to send the debugging result data to the network service component, so that the network service component provides the debugging result data to the debugging client.

[0063] In this embodiment, a network service component can be bound to a network address on the first network. A transport layer proxy component acts as a communication bridge between the network service component and applications on the second network. This component can leverage the transport layer's large number of ports to implement transport layer communication interactions with multiple applications. Furthermore, a single network service component can proxy remote debugging services for multiple applications, significantly reducing the number of network service components required for cross-network remote debugging operations and lowering the resource costs of cross-network remote debugging.

[0064] It should be noted that the execution entity of each step of the method provided in the above embodiment can be the same device, or the method can be executed by different devices. For example, the execution entity of steps 401 to 404 can be device A; for another example, the execution entity of steps 401 and 402 can be device A, and the execution entity of step 403 can be device B; and so on.

[0065] In addition, in some of the processes described in the above embodiments and the accompanying drawings, multiple operations that appear in a specific order are included, but it should be clearly understood that these operations may not be executed in the order in which they appear in this article or may be executed in parallel. The sequence numbers of the operations, such as 401, 402, etc., are only used to distinguish between different operations, and the sequence numbers themselves do not represent any execution order. In addition, these processes may include more or fewer operations, and these operations may be executed in sequence or in parallel. It should be noted that the descriptions of "first", "second", etc. in this article are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to being different types.

[0066] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, stored data, displayed data, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of relevant data must comply with the relevant laws, regulations and standards of relevant countries and regions, and provide corresponding operation entrances for users to choose to authorize or refuse.

[0067] Figure 6 A schematic diagram of the structure of a server provided by an exemplary embodiment of the present application is shown in FIG. Figure 6 As shown, the server includes: a memory 601 , a processor 602 and a communication component 603 .

[0068] The memory 601 is used to store computer programs and can be configured to store various other data to support operations on the server. Examples of such data include instructions for any application program or method operating on the server.

[0069] In some optional embodiments, the processor 602 is coupled to the memory 601 and is used to execute the computer program in the memory 601, so as to: receive debugging data sent by the debugging client in the first network through the network address in the bound first network; obtain port information corresponding to the debugging data; send the debugging data and the port information to the transport layer proxy component, so that the transport layer proxy component determines the target debugging port number corresponding to the debugging data from the debugging ports of multiple applications of the agent according to the port information and sends the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol; the multiple applications are located in the second network.

[0070] Optionally, when obtaining the port information corresponding to the debugging data, the processor 602 is specifically used to: obtain the first port number of the network service component carried by the debugging data; and determine the second port number corresponding to the first port number in the transport layer agent component according to the mapping relationship between the port number in the network service component and the port number in the transport layer agent component, as the port information.

[0071] In other optional embodiments, the processor 602 is coupled to the memory 601 and is used to execute the computer program in the memory 601, so as to: use the transport layer proxy component to receive the debugging data and corresponding port information sent by the network service component; the debugging data is obtained by the network service component from the debugging client in the first network through the network address in the bound first network; according to the port information, the target debugging port number corresponding to the debugging data is determined from the debugging ports of multiple applications of the proxy, and the multiple applications are located in the second network; according to the transport layer protocol, the debugging data is sent to the target application corresponding to the target debugging port number to debug the target application.

[0072] Optionally, the port information includes: a second port number in the transport layer proxy component determined based on a first port number in the network service component, the first port number being carried by the debug data; accordingly, when the processor 602 determines the target debug port number corresponding to the debug data from the debug ports of the multiple applications based on the port information, it is specifically used to: determine the target debug port number corresponding to the second port number based on a mapping relationship between the port number in the transport layer proxy component and the debug ports of the multiple applications it proxies.

[0073] Optionally, the processor 602 is further configured to: respond to a user's proxy configuration operation, obtain port configuration data provided by the user; and update the mapping relationship between the port number in the transport layer proxy component and the debug ports of the multiple applications according to the port configuration data.

[0074] Optionally, after sending the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol, the processor 602 is also used to: monitor the target debugging port number; when monitoring the debugging result data returned by the target debugging port number, use the second port number to send the debugging result data to the network service component, so that the network service component provides the debugging result data to the debugging client.

[0075] Further, if Figure 6 As shown, the server also includes: a power supply component 604 and other components. Figure 6Only some components are shown schematically, which does not mean that the server only includes Figure 6 Components shown.

[0076] Among them, the memory 601 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disk or optical disk.

[0077] The communication component 603 is configured to facilitate wired or wireless communication between the device where the communication component is located and other devices. The device where the communication component is located can access a wireless network based on a communication standard, such as Wi-Fi (wireless network communication technology), 2G (such as Global System for Mobile Communications (GSM)), 3G (such as Wideband Code Division Multiple Access (WCDMA), 4G (such as Long Term Evolution (LTE)), 4G+ (such as upgraded Long Term Evolution (LTE-Advanced, LTE-A)), or 5G (5th Generation Mobile Communication Technology), or a combination thereof. In an exemplary embodiment, the communication component receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component can be implemented based on Near Field Communication (NFC) technology, Radio Frequency Identification (RFID) technology, Infrared Data Association (IrDA) technology, Ultra Wide Band (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0078] The power supply component 604 is used to provide power to various components of the device where the power supply component is located. The power supply component may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to the device where the power supply component is located.

[0079] In this embodiment, the network service component in the server can be bound to the network address in the first network. A transport layer proxy component is set as a communication bridge between the network service component and the application in the second network. The larger number of ports of the transport layer can be used to implement transport layer communication interaction with multiple applications. Furthermore, based on a single network service component, the remote debugging service of multiple applications can be proxy-based, which greatly reduces the number of network service components required for cross-network remote debugging operations and reduces the resource cost of cross-network remote debugging. In addition, the network service component is used as a unified entry point for the second network to communicate and interact with the debugging client in the first network, which reduces the number of entry services of the second network and is more convenient for security management and control compared to traditional solutions.

[0080] Accordingly, an embodiment of the present application further provides a computer-readable storage medium storing a computer program, which, when executed, can implement each step of the remote debugging method provided in the embodiment of the present application.

[0081] Accordingly, an embodiment of the present application further provides a computer program product, comprising: a computer program / instruction, which, when executed by a processor, can implement each step of the remote debugging method provided in the embodiment of the present application.

[0082] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Thus, the present invention may 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 implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM (Compact Disc Read-Only Memory), optical storage, etc.) containing computer-usable program code.

[0083] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowcharts and / or block diagrams, as well as combinations of processes and / or blocks in the flowcharts and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowcharts and / or block diagrams. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0084] These computer program instructions may also be stored in a computer readable memory that can direct a computer or other programmable data processing device to work in a specific manner, so that the instructions stored in the computer readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.

[0085] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operational steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing the instructions executed on the computer or other programmable device for implementing the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.

[0086] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, and memory.

[0087] Memory may include non-permanent storage in a computer-readable medium, random access memory (RAM) and / or non-volatile memory in the form of read-only memory (ROM) or flash RAM. Memory is an example of a computer-readable medium.

[0088] Computer-readable media include permanent and non-permanent, removable and non-removable media that can be used to store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, Parallel Random Access Machine (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 cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission media that can be used to store information that can be accessed by a computing device. As defined herein, computer-readable media does not include transitory computer-readable media such as modulated data signals and carrier waves.

[0089] It should also be noted that the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, commodity, or apparatus that includes a series of elements includes not only those elements but also other elements not explicitly listed, or includes elements inherent to such process, method, commodity, or apparatus. In the absence of further limitations, an element defined by the phrase "comprises a ..." does not exclude the presence of other identical elements in the process, method, commodity, or apparatus that includes the element.

[0090] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.

Claims

1. A remote debugging system, characterized in that: include: A debugging client located in the first network, a network service component, a transport layer proxy component, and a plurality of applications located in the second network; The transport layer proxy component acts as a proxy for the debugging ports of the multiple applications; The debugging client is used to obtain debugging data according to the user's debugging operation and send the debugging data to the network service component; The network service component is bound to a network address located in the first network and is used to: receive debugging data sent by the debugging client through the network address; obtain port information corresponding to the debugging data, and send the debugging data and the port information to the transport layer proxy component; Among them, the transport layer proxy component is used to: receive the debugging data and corresponding port information sent by the network service component; determine the target debugging port number corresponding to the debugging data from the debugging ports of multiple applications of the proxy based on the port information; and send the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol to debug the target application.

2. A remote debugging method, characterized in that: include: The network service component receives debugging data sent by the debugging client in the first network through the network address in the bound first network; Obtaining port information corresponding to the debugging data; The debugging data and the port information are sent to a transport layer proxy component, so that the transport layer proxy component determines the target debugging port number corresponding to the debugging data from the debugging ports of multiple applications of the proxy according to the port information and sends the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol; the multiple applications are located in a second network.

3. The method according to claim 2, characterized in that Obtaining the port information corresponding to the debugging data includes: Obtaining a first port number of the network service component carried by the debugging data; According to the mapping relationship between the port number in the network service component and the port number in the transport layer proxy component, the second port number corresponding to the first port number in the transport layer proxy component is determined as the port information.

4. A remote debugging method, characterized in that: include: The transport layer agent component receives the debugging data and corresponding port information sent by the network service component; The debugging data is obtained by the network service component from the debugging client in the first network through the network address in the bound first network; Determining, based on the port information, a target debugging port number corresponding to the debugging data from debugging ports of a plurality of application programs of the proxy, the plurality of application programs being located in the second network; The debugging data is sent to a target application corresponding to the target debugging port number according to a transport layer protocol, so as to debug the target application.

5. The method according to claim 4, characterized in that The port information includes: a second port number in the transport layer proxy component determined according to a first port number in the network service component, the first port number being carried by the debugging data; Determining, according to the port information, a target debugging port number corresponding to the debugging data from the debugging ports of the multiple application programs, includes: The target debugging port number corresponding to the second port number is determined according to the mapping relationship between the port number in the transport layer proxy component and the debugging ports of multiple application programs it proxies.

6. The method according to claim 5, characterized in that Also includes: In response to a user's proxy configuration operation, obtaining port configuration data provided by the user; According to the port configuration data, the mapping relationship between the port number in the transport layer agent component and the debugging ports of the multiple application programs is updated.

7. The method according to claim 5, characterized in that After sending the debugging data to the target application corresponding to the target debugging port number according to the transport layer protocol, the method further includes: Monitor the target debugging port number; When the debugging result data returned by the target debugging port number is monitored, the debugging result data is sent to the network service component using the second port number, so that the network service component provides the debugging result data to the debugging client.

8. A server, characterized in that: include: memory and processor; The memory is used to store one or more computer instructions; The processor is configured to execute the one or more computer instructions to perform the steps of the method according to any one of claims 2 to 7.

9. A computer-readable storage medium storing a computer program, characterized in that: When the computer program is executed by a processor, it can implement the remote debugging method described in any one of claims 2 to 7.

10. A computer program product, characterized in that include: A computer program / instruction, which, when executed by a processor, can implement the remote debugging method according to any one of claims 2 to 7.