WO2014082577A1 - 实现远程调试的方法及*** - Google Patents

实现远程调试的方法及*** Download PDF

Info

Publication number
WO2014082577A1
WO2014082577A1 PCT/CN2013/087929 CN2013087929W WO2014082577A1 WO 2014082577 A1 WO2014082577 A1 WO 2014082577A1 CN 2013087929 W CN2013087929 W CN 2013087929W WO 2014082577 A1 WO2014082577 A1 WO 2014082577A1
Authority
WO
WIPO (PCT)
Prior art keywords
agent
information
debugged
debugging
debugger
Prior art date
Application number
PCT/CN2013/087929
Other languages
English (en)
French (fr)
Inventor
李峰
陈旭东
Original Assignee
腾讯科技(深圳)有限公司
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 腾讯科技(深圳)有限公司 filed Critical 腾讯科技(深圳)有限公司
Publication of WO2014082577A1 publication Critical patent/WO2014082577A1/zh
Priority to US14/724,808 priority Critical patent/US9448914B2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Definitions

  • the present invention relates to the field of communications technologies, and in particular, to a method and system for implementing remote debugging. Background technique
  • Remote Debugging is a debugging strategy for debugging a program on another computer using a debugging tool on one computer.
  • the existing remote debugging technology mainly consists of two components: the debugger (Debugger) and the debugger (Debuggee).
  • the party that uses the debugging tool for debugging is called the "debug side", for example, the client running Visual Studio 2010 of the debugging tool; the party debugged by the debugging tool is called the "debugged party”, for example, the server-side MSVSMON running the debugging tool .
  • the debugger can enter the environment where the debugger has problems in the first time in his own debugging environment, track and locate the root cause of the problem, improve the efficiency of the debugger to find and solve the problem, and be highly debugged by the software debugger.
  • the existing remote debugging technology implements remote debugging and analysis functions based on a local area network (LAN) through a third-party debugging tool.
  • third-party debugging tools commonly used include: Visual Studio and WinDbg under Windows platform; Gdb (GNU Debugger) and so on.
  • the two tools Visual Studio and WinDbg are from Microsoft Corporation, and gdb is the standard debugger for the GNU system.
  • Embodiments of the present invention provide a method and system for implementing remote debugging, which can implement remote debugging across a local area network.
  • a method for realizing remote debugging is applied to a remote debugging system, where the remote debugging system includes a remote debugging client, a debugging agent, a relay agent, a debugged agent, and a remote debugging server; the remote debugging client and debugging The proxy agent belongs to the first local area network, and the debugged agent and the remote debugging server belong to the second local area network, and the second local area network and the first local area network are different communication networks, and the transit agent belongs to the first local area network. And an external communication network outside the second local area network, the method comprising:
  • the remote debugging client sends debugging information to the debugger agent
  • the debugger agent obtains the process identifier, the receiving port identifier, and the keyword information corresponding to the debugger agent, and the process identifier and the receiving port identifier corresponding to the remote debugging client. And the keyword information corresponding to the debugger agent and the debug information are encapsulated in the data packet, and the data packet is sent to the transit agent;
  • the transit agent performs decapsulation processing on the data packet to obtain the keyword information corresponding to the debugger agent, and determines, according to the stored mapping table, the debugged agent that has a corresponding relationship with the debugger agent, and the The data packet is forwarded to the debugged party agent that has a corresponding relationship with the debugger agent;
  • the debugged agent performs decapsulation processing on the data packet to obtain debug information, the process identifier corresponding to the remote debugging client, and the receiving port identifier, and sends the debugging information according to the receiving port identifier.
  • the remote debugging server performs debugging according to the debugging information.
  • a remote debugging system including a remote debugging client, a debugging agent, a relay agent, a debugged agent, and a remote debugging server; the remote debugging client and the debugging agent belong to the first local area network, and the The debugger agent and the remote debug server belong to the second local area network, the second local area network and the first local area network are different communication networks, and the transit agent belongs to the first local area network and an external communication network other than the second local area network;
  • the remote debugging client is configured to send debugging information to the debugging agent, and the debugging agent is configured to acquire a process identifier, a receiving port identifier, and a debugger agent corresponding to the remote debugging client.
  • Keyword information to be described with the remote debugger The process identifier corresponding to the client, the receiving port identifier, and the keyword information corresponding to the debugger agent, and the debugging information are encapsulated in a data packet, and the data packet is sent to a relay agent; the transit agent is used for Decapsulating the data packet to obtain the keyword information corresponding to the debugger agent, and determining, according to the stored mapping table, the debugged agent that has a corresponding relationship with the debugger agent, and the data packet is Forwarded to the debugged agent that has a corresponding relationship with the debugger agent;
  • the agent to be debugged configured to perform decapsulation processing on the data packet to obtain debugging information, the process identifier corresponding to the remote debugging client, and the receiving port identifier, according to the receiving port identifier Sending the debugging information to a corresponding port of the remote debugging service corresponding to the process identifier;
  • the remote debugging server is configured to perform debugging according to the debugging information.
  • the method and system for realizing remote debugging provided by the embodiment of the present invention, the transit agent, the debugger agent, and the agent to be debugged are set in the remote debugging system, and the transit agent completes the agent of the debugger and the agent to be debugged according to the stored mapping table.
  • the transmitted information is forwarded, and information transmission between the remote debugging client and the remote debugging server in different local area networks is realized.
  • the remote debugging can be implemented only in the same local area network.
  • the embodiment of the invention can realize remote debugging across the local area network and provide the applicability of remote debugging.
  • FIG. 1 is a flowchart of a method for implementing remote debugging according to Embodiment 1 of the present invention
  • FIG. 2 is a method for establishing a mapping relationship between a debugger agent and a debugged agent according to Embodiment 1 of the present invention
  • FIG. 3 is a flowchart of a method for synchronizing an interface state according to Embodiment 1 of the present invention
  • FIG. 4 is a block diagram of a system for implementing remote debugging according to Embodiment 2 of the present invention. detailed description
  • the embodiment of the invention provides a method for realizing remote debugging, which can be applied to a remote debugging system, which includes a remote debugging client, a debugging agent, a relay agent, a debugged agent, and a remote debugging service.
  • the remote debugging client and the debugging agent belong to the first local area network
  • the debugged agent and the remote debugging server belong to the second local area network
  • the second local area network and the first local area network are different communications.
  • the network, the transit agent belongs to the first local area network and an external communication network other than the second local area network.
  • Each LAN is separated by a gateway.
  • the relay agent is used as the core forwarding module, and generally only one is set in one remote debugging system, and is set on a separate server, and the debugging agent and the agent to be debugged can be set one or more, and all Both the debugger agent and the agent being debugged are connected to the same transit agent.
  • it is usually set up as a debugger agent responsible for sending and receiving debug information of one or more remote debug clients in a LAN, and a debugged agent is responsible for debugging one or more remote debug servers in a LAN. Information is sent and received.
  • each remote debugging client and the remote debugging server are based on any one of Visual Studio, WinDbg under Windows platform, gdb (GNU Debugger) under Linux platform or A variety of remote debugging tools to set up.
  • the debugger agent can be integrated with one or more remote debug clients in the same device, and the debugger agent can be integrated into the same device with one or more remote debug servers.
  • a method for implementing remote debugging provided by an embodiment of the present invention, as shown in FIG. 1, includes:
  • the remote debugging client sends debugging information to the debugger agent.
  • the debugging information may include, but is not limited to, establishing connection request information, releasing connection request information, and debugging data.
  • the debugger agent obtains a process identifier corresponding to the remote debugging client, a receiving port identifier, and keyword information corresponding to the debugger proxy.
  • the process identifier is corresponding to the remote debugging client, because the debugger agent It is responsible for the information forwarding and receiving of multiple remote debugging clients, so it is necessary to use the process identification to distinguish between them.
  • the receiving port identifier is used to identify a port that the remote debugging server receives the debugging information.
  • the keyword information is used to identify a correspondence between the debugger agent and the agent to be debugged stored in the relay agent.
  • the debugger agent encapsulates the process identifier corresponding to the remote debugging client, the receiving port identifier, and keyword information corresponding to the debugger agent, and the debugging information in a data packet.
  • the encapsulation manner of the data packet is customized in the present invention. Therefore, in this embodiment, multiple independent fields are required in the data packet to identify the type of the data packet, the process identifier, and the receiving port identifier. And debugging data.
  • the type of the data packet is used to indicate whether the data packet is control information or data information. For example, when the debugging information sent by the remote debugging client to the debugger agent is the connection establishment request information, the type of the data packet should be identified as Control information; and when the debugging information sent by the remote debugging client to the debugger agent is debug data, the type of the data packet should be identified as data information.
  • the packet encapsulation method can be extended based on the TCP protocol.
  • the transit agent performs decapsulation processing on the data packet, and obtains the keyword information corresponding to the debugger agent.
  • the method of the decapsulation process corresponds to the method of the encapsulation process described in the step 103.
  • the transit agent determines, according to the stored mapping table, the debugged agent that has a corresponding relationship with the debugger agent.
  • the transit agent forwards the data packet to the debugged agent agent corresponding to the debugger agent.
  • the debugged agent performs decapsulation processing on the data packet, and obtains debugging information, the process identifier corresponding to the remote debugging client, and the receiving port identifier.
  • the method of the decapsulation process is the same as that described in the step 105, and is also corresponding to the method of the encapsulation process described in the step 103.
  • the debugged agent sends the debugging information to a corresponding port of the remote debugging server corresponding to the process identifier according to the receiving port identifier.
  • the remote debugging server performs debugging according to the debugging information.
  • steps 101 to 110 describe the flow of the method for sending debugging information to the remote debugging server by the remote debugging client, and the flow of the debugging information is a remote debugging client, a debugging agent, a relay agent, a debugged agent, and a remote Debug the server. It is worth noting that in the method flow of sending debugging information from the remote debugging server to the remote debugging client, the flow of debugging information is remote debugging server, agent being debugged, relay agent, debug agent, remote debugging.
  • the specific implementation of the forwarding of each functional module by the client is similar to the method described in steps 101 to 110.
  • the method for realizing remote debugging provides a relay agent, a debugger agent and a debugged agent in the remote debugging system, and the transfer agent sends the agent to the debugger agent and the agent to be debugged according to the stored mapping table.
  • the information is forwarded, and information transmission between the remote debugging client and the remote debugging server inside different LANs is realized.
  • remote debugging can be implemented only in the same local area network.
  • the embodiment of the present invention can implement remote debugging across a local area network and provide applicability for remote debugging.
  • the embodiment of the present invention provides a method for establishing a mapping relationship between a debugger agent and a debugged agent, and is used to set a mapping table of the transit device.
  • the method is performed before step 101, as shown in FIG. 2, and specifically includes:
  • the transit agent obtains identification information of all agents that are debugged.
  • the identification information of the agent to be debugged may be implemented by using information such as a socket having an identification function.
  • the socket being proxied by the debugger is 555 and the socket of the debugger proxy is 444.
  • the transit agent assigns unique keyword information to each agent to be debugged.
  • the keyword information can be set to 1, 2 and other natural numbers.
  • the specific implementation method can be seen in Table 1 below.
  • the keyword information is the row identifier of each row, and the identification information of the agent being debugged and the agent of the debugger is identified by the socket.
  • Debugged party status and debugger status can be Use 0 (no such device), READY (for remote debugging), BUSY (for remote debugging), ERROR (device error).
  • Table 1 is only an example in the embodiment of the present invention.
  • the keyword information, the debugged agent proxy socket, and the debugger proxy socket must be stored.
  • the setting of other entries can be understood as not necessary for the maintenance and maintenance of maintenance personnel.
  • the transit agent stores the identification information and the keyword information of the agent to be debugged in a mapping table corresponding to each other.
  • the correspondence between the identification information of the agent to be debugged and the keyword information may be expressed in the storage method of the first row in Table 1, that is, in the same row of Table 1, the debugged party is represented.
  • the mutual correspondence between the identification information of the agent and the assigned keyword information may be expressed in the storage method of the first row in Table 1, that is, in the same row of Table 1, the debugged party is represented.
  • the debugger agent obtains keyword information selected by the user.
  • the specific implementation method for acquiring the keyword information selected by the user includes: the debugger agent receiving the debugged agent agent status information sent by the relay agent, where the debugged agent agent status information includes the mutually debugged party Identification information and keyword information of the agent; the debugger agent displays the agent status information of the debugged party; the debug agent receives the keyword information of the debugged agent input by the user, and inputs the user The keyword information of the debugged party agent is determined as the keyword information selected by the user.
  • the debugger agent sends the keyword information selected by the user and the identifier information of the debugger agent to the transit agent.
  • the transit agent determines, according to the keyword information, the agent to be debugged corresponding to the keyword information selected by the user.
  • the relay agent establishes a mapping relationship between the keyword information selected by the user, the identifier information of the agent to be debugged corresponding to the key information selected by the user, and the identifier information of the agent of the debugger.
  • the identification information of the agent to be debugged corresponding to the keyword information selected by the user, and the identification information of the agent of the debugger refer to Table 1
  • Table 1 The contents of the 2 lines and 3 lines. That is, the keyword information selected by the user having a mapping relationship with each other, the identification information of the agent to be debugged corresponding to the keyword information selected by the user, and the identification information of the agent of the debugger are recorded in the same row of Table 1. in.
  • the transit agent stores the mapping relationship in a mapping table.
  • the remote debugging server will open or close the port to adapt to data transmission in various environments.
  • the debugger agent must also adjust its own port state to ensure the accuracy and security of data transmission with the remote debug client.
  • An embodiment of the present invention provides an interface state synchronization method, as shown in FIG. 3, including:
  • the agent of the debugger detects that the state of the at least one port of the remote debugging server changes, the port identifier information corresponding to the at least one port is determined.
  • the port status includes both on and off.
  • the agent to be debugged encapsulates according to the current state of the at least one port and the corresponding port identification information and the identifier information of the agent to be debugged, to generate port indication information.
  • the port indication information may only represent the current state of a port, and may also characterize the current state of multiple ports at the same time.
  • the debugged party agent sends the port indication information to the transit agent.
  • the transit agent performs decapsulation processing on the port indication information, and obtains the keyword information corresponding to the agent to be debugged.
  • the transit agent determines, according to the stored mapping table, a debugger agent that has a corresponding relationship with the agent to be debugged.
  • the transit agent forwards the port indication information to a debugger agent that has a corresponding relationship with the agent to be debugged.
  • the debugger agent determines, according to the port indication information, a port to be adjusted, and performs state adjustment on the interface to be adjusted.
  • the method for determining the port to be adjusted according to the port indication information may include: directly adjusting the port with the same port identifier information in the port indication information according to the port identifier information carried in the port indication information.
  • the remote debugging method is provided in the embodiment of the present invention.
  • a transit agent, a debugger agent, and a debugged agent are set, and the transit agent completes sending the debugger agent and the debugged agent agent according to the stored mapping table.
  • the information coming over is forwarded, and information transmission between the remote debugging client and the remote debugging server inside different LANs is realized.
  • remote debugging can only be implemented in the same local area network.
  • the embodiment of the invention can realize remote debugging across a local area network and provide applicability of remote debugging.
  • the remote The debugging system includes a remote debugging client 41, a debugger agent 42, a relay agent 43, a debugged agent 44, and a remote debugging server 45; the remote debugging client 41 and the debugger agent 42 belong to the first local area network, The debugger agent 44 and the remote debug server 45 belong to the second local area network, the second local area network and the first local area network are different communication networks, and the transit agent 43 belongs to the first local area network and the outside of the second local area network. Communication network; each LAN is separated by a gateway.
  • the remote debugging client 41 is configured to send debugging information to the debugging agent 42.
  • the debugging agent 42 is configured to acquire a process identifier, a receiving port identifier, and a debugging corresponding to the remote debugging client 41.
  • the keyword information corresponding to 42 and the debugging information are encapsulated in a data packet, and the data packet is sent to the relay agent 43;
  • the relay agent 43 is configured to perform decapsulation processing on the data packet to obtain the keyword information corresponding to the debugger agent 42, and determine, according to the stored mapping table, a corresponding relationship with the debugger agent 42.
  • the debugged party agent 44 forwards the data packet to the debugged party agent 44 having a corresponding relationship with the debugger agent 42;
  • the debugged party agent 44 is configured to perform decapsulation processing on the data packet to obtain debug information, the process identifier corresponding to the remote debugging client 41, and the receiving port identifier, according to the receiving port.
  • the identifier is sent to the corresponding port of the remote debugging server 45 corresponding to the process identifier;
  • the remote debugging server 45 is configured to perform debugging according to the debugging information.
  • the debugging information includes establishing connection request information, releasing connection request information, and debugging data.
  • the transit agent 43 is further configured to obtain identification information of all the agents to be debugged 44, and assign unique keyword information to each debugged agent 44, and proxy the agent 44.
  • the correspondence between the identification information and the keyword information is stored in the mapping table;
  • the debugger agent 42 is further configured to acquire keyword information selected by the user, and send the keyword information selected by the user and the identifier information of the debugger agent 42 to the relay agent 43; the relay agent 43 Determining, according to the keyword information, the debugged party agent 44 corresponding to the keyword information selected by the user, and establishing the keyword information selected by the user and the debugged party corresponding to the keyword information selected by the user.
  • Agent 44 identification information, debugger agent A mapping relationship between the three pieces of identification information of 42 and storing the mapping relationship in a mapping table.
  • the debugger agent 42 is specifically configured to receive, by the debugger agent 42, the debugged agent agent 44 status information sent by the relay agent 43, where the debugged agent agent 44 status information includes the debugged agent 44.
  • the debugged agent 44 status information includes the debugged agent 44.
  • the identification information and the keyword information displaying the status information of the debugged agent 44; receiving keyword information of the debugged party agent 44 input by the user, and proxying the debugged party input by the user
  • the keyword information of 44 is determined as the keyword information selected by the user.
  • the debugged party agent 44 is configured to: when detecting that the status of the at least one port of the remote debugging server 45 changes, determine port identification information corresponding to the at least one port; The current state and the corresponding port identification information and the identification information of the agent to be debugged 44 are encapsulated to generate port indication information; the port indication information is sent to the relay agent 43;
  • the relay agent 43 is configured to perform decapsulation processing on the port indication information, to obtain the keyword information corresponding to the debugged party agent 44, and determine the agent to be debugged 44 according to the stored mapping table. a debugger agent 42 having a corresponding relationship; forwarding the data packet to a debugger agent 42 having a corresponding relationship with the agent to be debugged 44;
  • the debugger agent 42 is further configured to determine, according to the port indication information, a port to be adjusted, and perform state adjustment on the interface to be adjusted.
  • a transit agent, a debugger agent, and a debugged agent are set in the remote debugging system, and the transit agent sends the agent to the debugger agent and the agent to be debugged according to the stored mapping table.
  • the information is forwarded, and information transmission between the remote debugging client and the remote debugging server inside different LANs is realized.
  • remote debugging can be implemented only in the same local area network.
  • the embodiment of the present invention can implement remote debugging across a local area network and provide applicability for remote debugging.
  • the present invention can be implemented by means of software plus necessary general hardware, and of course, by hardware, but in many cases, the former is a better implementation. .
  • the technical solution of the present invention which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a readable storage medium, such as a floppy disk of a computer.
  • a hard disk or optical disk or the like includes instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.

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)
  • Small-Scale Networks (AREA)

Abstract

本发明公开了实现远程调试的方法及***,涉及通信技术领域,能够实现跨局域网的远程调试。本发明在远程调试***中设置了中转代理、调试方代理和被调试方代理,中转代理依据存储的映射表完成对调试方代理和被调试方代理发送过来的信息进行转发,实现了处于不同局域网内部的远程调试客户端和远程调试服务端之间的信息传输。

Description

实现远程调试的方法及*** 相关申请的交叉引用
本申请要求于 2012年 11月 29日提交的, 申请号为 201210499229.5 , 发明名称为 "实现远程调试的方法及***" 的中国发明专利申请的优先权, 并将其全文通过引用的方式合并于此。 技术领域
本发明涉及通信技术领域, 尤其涉及实现远程调试的方法及***。 背景技术
远程调试( Remote Debugging )是指在一台计算机上使用调试工具调试 另外一台计算机上的程序 (program ) 的一种调试策略。
现有远程调试技术主要包括两个组成部分: 调试方(Debugger )和被调 试方(Debuggee )。 使用调试工具进行调试的一方称为 "调试方", 例如, 运 行调试工具的客户端 Visual Studio 2010; 被调试工具调试的一方称为 "被调 试方", 例如, 运行着调试工具的服务器端 MSVSMON。 通过远程调试, 调 试方可以在自己的调试环境中第一时间进入被调试方出现问题的环境中, 追 踪和定位问题的根源, 提高调试方发现问题和解决问题的效率, 而备受软件 调试人员的青睐。
现有远程调试技术是通过第三方调试工具实现基于局域网( LAN: Local Area Network )内的远程调试与分析功能, 目前常用的第三方调试工具包括: Windows平台下的 Visual Studio、 WinDbg; Linux平台下的 gdb ( GNU Debugger )等。 其中 Visual Studio和 WinDbg这两个工具都来自于微软 ( Microsoft Corporation ), 而 gdb则是 GNU***的标准调试器。
虽然上述的第三方工具都提供了远程调试的功能,即提供了调试工具的 客户端和服务器端程序, 但是在面对调试方和被调试方位于不同的局域网 时, 由于局域网通常有自己的网关在起作用, 因此调试方与被调试方之间无 法直接建立连接,也就是说,这些调试工具的远程调试功能将无法直接使用。 发明内容 本发明的实施例提供实现远程调试的方法及***,能够实现跨局域网的 远程调试。
为达到上述目的, 本发明的实施例采用如下技术方案:
一种实现远程调试的方法, 应用于远程调试***, 所述远程调试***包 括远程调试客户端、 调试方代理、 中转代理、 被调试方代理、 远程调试服务 端; 所述远程调试客户端与调试方代理同属于第一局域网, 所述被调试方代 理与远程调试服务端同属于第二局域网, 所述第二局域网与所述第一局域网 是不同的通信网络, 所述中转代理属于第一局域网以及第二局域网以外的外 部通信网络, 该方法包括:
远程调试客户端向调试方代理发送调试信息;
调试方代理获取与所述远程调试客户端对应的进程标识、接收端口标识 以及与调试方代理对应的关键字信息,将所述与所述远程调试客户端对应的 进程标识、所述接收端口标识以及与调试方代理对应的关键字信息以及所述 调试信息封装在数据包内, 将所述数据包发送至中转代理;
中转代理对所述数据包进行解封装处理以得到所述与所述调试方代理 对应的关键字信息,根据已存储的映射表确定与调试方代理存在对应关系的 被调试方代理,将所述数据包转发至与调试方代理存在对应关系的被调试方 代理;
被调试方代理对所述数据包进行解封装处理以得到调试信息、所述与所 述远程调试客户端对应的进程标识以及所述接收端口标识,根据所述接收端 口标识将所述调试信息发送至与所述进程标识对应的远程调试服务端的相 应端口;
远程调试服务端根据所述调试信息进行调试。
一种实现远程调试的***, 包括远程调试客户端、 调试方代理、 中转代 理、 被调试方代理、 远程调试服务端; 所述远程调试客户端与调试方代理同 属于第一局域网, 所述被调试方代理与远程调试服务端同属于第二局域网, 所述第二局域网与所述第一局域网是不同的通信网络, 所述中转代理属于第 一局域网以及第二局域网以外的外部通信网络;
其中, 所述远程调试客户端, 用于向调试方代理发送调试信息; 所述调试方代理, 用于获取与所述远程调试客户端对应的进程标识、接 收端口标识以及与调试方代理对应的关键字信息,将所述与所述远程调试客 户端对应的进程标识、所述接收端口标识以及与调试方代理对应的关键字信 息以及所述调试信息封装在数据包内, 将所述数据包发送至中转代理; 所述中转代理,用于对所述数据包进行解封装处理以得到所述与所述调 试方代理对应的关键字信息,根据已存储的映射表确定与调试方代理存在对 应关系的被调试方代理,将所述数据包转发至与调试方代理存在对应关系的 被调试方代理;
所述被调试方代理, 用于对所述数据包进行解封装处理以得到调试信 息、 所述与所述远程调试客户端对应的进程标识以及所述接收端口标识, 根 据所述接收端口标识将所述调试信息发送至与所述进程标识对应的远程调 试良务端相应端口;
所述远程调试服务端, 用于根据所述调试信息进行调试。
本发明实施例提供的实现远程调试的方法及***,在远程调试***中设 置了中转代理、 调试方代理和被调试方代理, 中转代理依据存储的映射表完 成对调试方代理和被调试方代理发送过来的信息进行转发, 实现了处于不同 局域网内部的远程调试客户端和远程调试服务端之间的信息传输。相比于现 有技术中, 只能在同一个局域网内才能实现远程调试, 本发明实施例能够实 现跨局域网的远程调试, 提供远程调试的适用性。 附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实 施例或现有技术描述中所需要使用的附图作筒单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动的前提下, 还可以根据这些附图获得其他的附图。
图 1为本发明实施例 1中的一种实现远程调试的方法的流程图; 图 2为本发明实施例 1中的一种调试方代理和被调试方代理之间的映射 关系的建立方法的流程图;
图 3为本发明实施例 1中的一种接口状态同步方法的流程图; 图 4为本发明实施例 2中的一种实现远程调试的***的组成框图。 具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有作 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。
实施例 1
本发明实施例提供了一种实现远程调试的方法,可以应用于一种远程调 试***中,所述远程调试***包括远程调试客户端、调试方代理、 中转代理、 被调试方代理、 远程调试服务端; 所述远程调试客户端与调试方代理同属于 第一局域网, 所述被调试方代理与远程调试服务端同属于第二局域网, 所述 第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局 域网以及第二局域网以外的外部通信网络。 各个局域网之间通过网关分隔 开。
在上述***中, 中转代理作为核心转发模块, 一般在一个远程调试*** 中只设置一个, 并设置于独立的服务器上, 而调试方代理与被调试方代理可 以分别设置一个或者多个, 并且所有调试方代理与被调试方代理均与同一个 中转代理取得连接。 为了管理方便, 通常设置为一个调试方代理负责一个局 域网内的一个或多个远程调试客户端的调试信息发送和接收, 而一个被调试 方代理负责一个局域网内的一个或多个远程调试服务端的调试信息发送和 接收。
在本发明实施例提供的远程调试***中,各个远程调试客户端和远程调 试服务端均基于诸如 Windows平台下的 Visual Studio、 WinDbg , Linux平台 下的 gdb ( GNU Debugger )在内的任意一种或多种远程调试工具进行设置。 调试方代理可以与一个或多个远程调试客户端集成在同一个设备中, 而被调 试方代理可以与一个或多个远程调试服务端集成在同一个设备中。
基于上述远程调试***, 本发明实施例提供的一种实现远程调试的方 法, 如图 1所示, 包括:
101、 远程调试客户端向调试方代理发送调试信息。
其中, 所述调试信息可以但不局限于包括建立连接请求信息、解除连接 请求信息、 调试数据。
102、 调试方代理获取与所述远程调试客户端对应的进程标识、 接收端 口标识以及与调试方代理对应的关键字信息。
其中, 所述进程标识与远程调试客户端是——对应的, 由于调试方代理 需要负责多个远程调试客户端的信息转发和接收, 因此需要使用进程标识来 力口以区分。
其中, 所述接收端口标识用于表征远程调试服务端接收调试信息的端 口。
其中,所述关键字信息用于标识存储在中转代理中的调试方代理与被调 试方代理之间的对应关系。
103、 调试方代理将所述与所述远程调试客户端对应的进程标识、 所述 接收端口标识以及与调试方代理对应的关键字信息以及所述调试信息封装 在数据包内。
其中, 所述数据包的封装方式是本发明中自定义的, 因此, 在本实施例 中,数据包内需要有多个独立的字段分别用于标识数据包的类型、进程标识、 接收端口标识和调试数据。 其中, 数据包的类型用于表征该数据包是控制信 息还是数据信息, 例如, 当远程调试客户端向调试方代理发送的调试信息为 建立连接请求信息, 则所述数据包的类型应标识为控制信息; 而当远程调试 客户端向调试方代理发送的调试信息为调试数据, 则所述数据包的类型应标 识为数据信息。 而数据包的封装方法可以基于 TCP协议进行扩展。
104、 将所述数据包发送至中转代理。
105、 中转代理对所述数据包进行解封装处理, 得到所述与所述调试方 代理对应的关键字信息。
其中,所述解封装处理的方法与所述步骤 103中描述的封装处理的方法 是对应的。
106、 中转代理根据已存储的映射表, 确定与调试方代理存在对应关系 的被调试方代理。
107、 中转代理将所述数据包转发至与调试方代理存在对应关系的被调 试方代理。
108、 被调试方代理对所述数据包进行解封装处理, 得到调试信息、 所 述与所述远程调试客户端对应的进程标识以及所述接收端口标识。
其中, 所述解封装处理的方法与所述步骤 105中的描述相同, 也是与所 述步骤 103中描述的封装处理的方法对应的。
109、 被调试方代理根据所述接收端口标识, 将所述调试信息发送至与 所述进程标识对应的远程调试服务端的相应端口。 110、 远程调试服务端根据所述调试信息进行调试。
上述步骤 101至步骤 110描述了由远程调试客户端向远程调试服务端发 送调试信息的方法的流程, 其调试信息的流向为远程调试客户端、 调试方代 理、 中转代理、 被调试方代理、 远程调试服务端。 而值得说明的是, 在由远 程调试服务端向远程调试客户端发送调试信息的方法流程中, 其调试信息的 流向为远程调试服务端、 被调试方代理、 中转代理、 调试方代理、 远程调试 客户端,各功能模块转发的具体实现与步骤 101至步骤 110描述的方法类似。
本发明实施例提供的实现远程调试的方法,在远程调试***中设置了中 转代理、 调试方代理和被调试方代理, 中转代理依据存储的映射表完成对调 试方代理和被调试方代理发送过来的信息进行转发, 实现了处于不同局域网 内部的远程调试客户端和远程调试服务端之间的信息传输。相比于现有技术 中, 只能在同一个局域网内才能实现远程调试, 本发明实施例能够实现跨局 域网的远程调试, 提供远程调试的适用性。
进一步的,本发明实施例提供了一种调试方代理和被调试方代理之间的 映射关系的建立方法, 用于设置中转设备的映射表。 该方法执行于步骤 101 之前, 如图 2所示, 具体包括:
201、 中转代理获取所有被调试方代理的标识信息。
其中,所述被调试方代理的标识信息可以使用套接字等具有标识功能的 信息来实现。 例如, 被调试方代理的套接字为 555, 调试方代理的套接字为 444。
202、 中转代理为每个被调试方代理分配唯一的关键字信息。
其中, 关键字信息可以设置为 1、 2等自然数。 其具体实现方法可以参 见下表 1。
表 1 映射表
Figure imgf000008_0001
在上述表 1中, 关键字信息即为每个行的行标识, 而被调试方代理和调 试方代理的标识信息则由套接字来进行标识。被调试方状态和调试方状态可 以用 0 (无此设备)、 READY (可以进行远程调试)、 BUSY (正在进行远程 调试)、 ERROR (设备报错)表示。
值得说明的是, 上述表 1只是本发明实施例中的一种示例, 在该映射表 中, 关键字信息、 被调试方代理套接字和调试方代理套接字是必须进行存储 的。 其它表项的设置可以理解为为了维护人员的监控和维护工作, 并不是必 要的。
203、 中转代理将所述被调试方代理的标识信息和关键字信息相互对应 地存储在映射表中。
其中,所述被调试方代理的标识信息和关键字信息之间的对应关系可以 以表 1中第一行的存储方法表示出来, 即, 以存储在表 1的同一行中来表示 被调试方代理的标识信息和所分配的关键字信息之间的相互对应。
204、 调试方代理获取用户选择的关键字信息。
其中, 所述获取用户选择的关键字信息的具体实现方法如下包括: 所述调试方代理接收中转代理发送的被调试方代理状态信息,所述被调 试方代理状态信息包括相互对应的被调试方代理的标识信息和关键字信息; 所述调试方代理将所述被调试方代理状态信息显示出来; 所述调试方代理接 收用户输入的被调试方代理的关键字信息, 并将所述用户输入的被调试方代 理的关键字信息确定为所述用户选择的关键字信息。
205、 调试方代理将所述用户选择的关键字信息以及所述调试方代理的 标识信息发送至中转代理。
206、 中转代理根据所述关键字信息, 确定所述用户选择的关键字信息 对应的被调试方代理。
207、 中转代理建立所述用户选择的关键字信息、 所述用户选择的关键 字信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的 映射关系。
其中, 所述用户选择的关键字信息、所述用户选择的关键字信息对应的 被调试方代理的标识信息、调试方代理的标识信息三者之间的映射关系的存 储可以参见表 1的第 2行和第 3行记载的内容。 即, 将相互之间存在映射关 系的所述用户选择的关键字信息、所述用户选择的关键字信息对应的被调试 方代理的标识信息、 调试方代理的标识信息记录在表 1的同一行中。
208、 中转代理将所述映射关系存储在映射表中。 进一步的, 在本实施 例中,远程调试服务端会自行开放或者关闭端口以适应各种环境下的数据传 输。 而在这种情况下, 调试方代理也必须相应调整自身的端口状态, 以保证 与远程调试客户端的数据传输的准确性和安全性。本发明实施例提供了一种 接口状态同步方法, 如图 3所示, 包括:
301、 被调试方代理检测到远程调试服务端的至少一个端口状态发生变 化时, 确定所述至少一个端口对应的端口标识信息。
其中, 端口状态包括开启和关闭两种。
302、 被调试方代理根据所述至少一个端口的当前状态以及对应的端口 标识信息以及被调试方代理的标识信息进行封装, 生成端口指示信息。
其中, 所示端口指示信息中可以只表征一个端口的当前状态, 也可以同 时表征多个端口的当前状态。
303、 被调试方代理将所述端口指示信息发送至中转代理。
304、 中转代理对所述端口指示信息进行解封装处理, 得到所述与所述 被调试方代理对应的关键字信息。
305、 中转代理根据已存储的映射表, 确定与被调试方代理存在对应关 系的调试方代理。
306、 中转代理将所述端口指示信息转发至与被调试方代理存在对应关 系的调试方代理。
307、 调试方代理根据所述端口指示信息, 确定待调整端口, 并对所述 待调整接口进行状态调整。
其中, 所述根据所述端口指示信息, 确定待调整端口的方法可以包括: 才艮据端口指示信息中携带的端口标识信息, 直接调整与端口指示信息中的端 口标识信息相同的端口。
本发明实施例提供的一种实现远程调试方法,在远程调试***中设置了 中转代理、 调试方代理和被调试方代理, 中转代理依据存储的映射表完成对 调试方代理和被调试方代理发送过来的信息进行转发, 实现了处于不同局域 网内部的远程调试客户端和远程调试服务端之间的信息传输。相比于现有技 术中, 只能在同一个局域网内才能实现远程调试, 本发明实施例能够实现跨 局域网的远程调试, 提供远程调试的适用性。
实施例 2
本发明实施例提供了一种实现远程调试的***, 如图 4所示, 所述远程 调试***包括远程调试客户端 41、 调试方代理 42、 中转代理 43、 被调试方 代理 44、 远程调试服务端 45; 所述远程调试客户端 41与调试方代理 42同 属于第一局域网, 所述被调试方代理 44与远程调试服务端 45同属于第二局 域网, 所述第二局域网与所述第一局域网是不同的通信网络, 所述中转代理 43属于第一局域网以及第二局域网以外的外部通信网络;各个局域网之间通 过网关分隔开。
其中, 所述远程调试客户端 41 , 用于向调试方代理 42发送调试信息; 所述调试方代理 42, 用于获取与所述远程调试客户端 41对应的进程标 识、 接收端口标识以及与调试方代理 42对应的关键字信息, 将所述与所述 远程调试客户端 41对应的进程标识、 所述接收端口标识以及与调试方代理
42对应的关键字信息以及所述调试信息封装在数据包内,将所述数据包发送 至中转代理 43;
所述中转代理 43 , 用于对所述数据包进行解封装处理以得到所述与所 述调试方代理 42对应的关键字信息, 根据已存储的映射表确定与调试方代 理 42存在对应关系的被调试方代理 44, 将所述数据包转发至与调试方代理 42存在对应关系的被调试方代理 44;
所述被调试方代理 44, 用于对所述数据包进行解封装处理以得到调试 信息、 所述与所述远程调试客户端 41对应的进程标识以及所述接收端口标 识,根据所述接收端口标识将所述调试信息发送至与所述进程标识对应的远 程调试服务端 45的相应端口;
所述远程调试服务端 45 , 用于根据所述调试信息进行调试。
可选的是, 所述调试信息包括建立连接请求信息、 解除连接请求信息、 调试数据。
可选的是, 所述中转代理 43 , 还用于获取所有被调试方代理 44的标识 信息, 并为每个被调试方代理 44分配唯一的关键字信息, 并将所述被调试 方代理 44的标识信息和关键字信息之间的对应关系存储在映射表中;
所述调试方代理 42, 还用于获取用户选择的关键字信息, 将所述用户 选择的关键字信息以及所述调试方代理 42的标识信息发送至中转代理 43; 所述中转代理 43 , 还用于根据所述关键字信息, 确定所述用户选择的 关键字信息对应的被调试方代理 44,并建立所述用户选择的关键字信息、所 述用户选择的关键字信息对应的被调试方代理 44的标识信息、 调试方代理 42的标识信息三者之间的映射关系, 并将所述映射关系存储在映射表中。 可选的是,所述调试方代理 42具体用于所述调试方代理 42接收中转代 理 43发送的被调试方代理 44状态信息, 所述被调试方代理 44状态信息包 括被调试方代理 44的标识信息和关键字信息之间的对应关系; 将所述被调 试方代理 44状态信息显示出来;接收用户输入的被调试方代理 44的关键字 信息, 并将所述用户输入的被调试方代理 44的关键字信息确定为所述用户 选择的关键字信息。
可选的是, 所述被调试方代理 44, 用于检测到远程调试服务端 45的至 少一个端口状态发生变化时, 确定所述至少一个端口对应的端口标识信息; 根据所述至少一个端口的当前状态以及对应的端口标识信息以及被调试方 代理 44的标识信息进行封装, 生成端口指示信息; 将所述端口指示信息发 送至中转代理 43;
所述中转代理 43 , 用于对所述端口指示信息进行解封装处理, 得到所 述与所述被调试方代理 44对应的关键字信息; 根据已存储的映射表, 确定 与被调试方代理 44存在对应关系的调试方代理 42; 将所述数据包转发至与 被调试方代理 44存在对应关系的调试方代理 42;
所述调试方代理 42, 还用于根据所述端口指示信息, 确定待调整端口, 并对所述待调整接口进行状态调整。
本发明实施例提供的实现远程调试的***,在远程调试***中设置了中 转代理、 调试方代理和被调试方代理, 中转代理依据存储的映射表完成对调 试方代理和被调试方代理发送过来的信息进行转发, 实现了处于不同局域网 内部的远程调试客户端和远程调试服务端之间的信息传输。相比于现有技术 中, 只能在同一个局域网内才能实现远程调试, 本发明实施例能够实现跨局 域网的远程调试, 提供远程调试的适用性。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本 发明可借助软件加必需的通用硬件的方式来实现, 当然也可以通过硬件, 但 很多情况下前者是更佳的实施方式。 基于这样的理解, 本发明的技术方案本 质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来, 该 计算机软件产品存储在可读取的存储介质中, 如计算机的软盘, 硬盘或光盘 等, 包括若干指令用以使得一台计算机设备(可以是个人计算机, 服务器, 或者网络设备等)执行本发明各个实施例所述的方法。 以上所述, 仅为本发明的具体实施方式,但本发明的保护范围并不局限 于此, 任何熟悉本技术领域的技术人员在本发明揭露的技术范围内, 可轻易 想到变化或替换, 都应涵盖在本发明的保护范围之内。 因此, 本发明的保护 范围应以所述权利要求的保护范围为准。

Claims

权利要求书
1. 一种实现远程调试的方法, 应用于远程调试***, 所述远程调试系 统包括远程调试客户端、 调试方代理、 中转代理、 被调试方代理、 远程调试 服务端; 所述远程调试客户端与调试方代理同属于第一局域网, 所述被调试 方代理与远程调试服务端同属于第二局域网, 所述第二局域网与所述第一局 域网是不同的通信网络, 所述中转代理属于第一局域网以及第二局域网以外 的外部通信网络, 该方法包括:
远程调试客户端向调试方代理发送调试信息;
调试方代理获取与所述远程调试客户端对应的进程标识、接收端口标识 以及与调试方代理对应的关键字信息,将所述与所述远程调试客户端对应的 进程标识、所述接收端口标识以及与调试方代理对应的关键字信息以及所述 调试信息封装在数据包内, 将所述数据包发送至中转代理;
中转代理对所述数据包进行解封装处理以得到所述与所述调试方代理 对应的关键字信息,根据已存储的映射表确定与调试方代理存在对应关系的 被调试方代理,将所述数据包转发至与调试方代理存在对应关系的被调试方 代理;
被调试方代理对所述数据包进行解封装处理以得到调试信息、所述与所 述远程调试客户端对应的进程标识以及所述接收端口标识,根据所述接收端 口标识将所述调试信息发送至与所述进程标识对应的远程调试服务端相应 端口;
远程调试服务端根据所述调试信息进行调试。
2. 根据权利要求 1所述的方法, 其中, 所述调试信息包括建立连接请 求信息、 解除连接请求信息、 调试数据。
3. 根据权利要求 2所述的方法, 在所述远程调试客户端向调试方代理 发送调试信息之前, 还包括:
中转代理获取所有被调试方代理的标识信息,并为每个被调试方代理分 配唯一的关键字信息, 并将所述被调试方代理的标识信息和关键字信息相互 对应地存储在映射表中;
调试方代理获取用户选择的关键字信息,将所述用户选择的关键字信息 以及所述调试方代理的标识信息发送至中转代理; 中转代理根据所述关键字信息 ,确定所述用户选择的关键字信息对应的 被调试方代理, 并建立所述用户选择的关键字信息、 所述用户选择的关键字 信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的映 射关系, 并将所述映射关系存储在映射表中。
4. 根据权利要求 3所述的方法, 其中, 所述调试方代理获取用户选择 的关键字信息包括:
所述调试方代理接收中转代理发送的被调试方代理状态信息,所述被调 试方代理状态信息包括相互对应的被调试方代理的标识信息和关键字信息; 所述调试方代理将所述被调试方代理状态信息显示出来;
所述调试方代理接收用户输入的被调试方代理的关键字信息,并将所述 用户输入的被调试方代理的关键字信息确定为所述用户选择的关键字信息。
5. 根据权利要求 3所述的方法, 还包括:
被调试方代理检测到远程调试服务端的至少一个端口状态发生变化时, 确定所述至少一个端口对应的端口标识信息, ^据所述至少一个端口的当前 状态以及对应的端口标识信息以及被调试方代理的标识信息进行封装, 生成 端口指示信息, 将所述端口指示信息发送至中转代理;
中转代理对所述端口指示信息进行解封装处理,得到所述与所述被调试 方代理对应的关键字信息,根据已存储的映射表确定与被调试方代理存在对 应关系的调试方代理,将所述端口指示信息转发至与被调试方代理存在对应 关系的调试方代理;
调试方代理根据所述端口指示信息, 确定待调整端口, 并对所述待调整 接口进行状态调整。
6. 一种实现远程调试的***, 包括远程调试客户端、 调试方代理、 中 转代理、 被调试方代理、 远程调试服务端; 所述远程调试客户端与调试方代 理同属于第一局域网, 所述被调试方代理与远程调试服务端同属于第二局域 网, 所述第二局域网与所述第一局域网是不同的通信网络, 所述中转代理属 于第一局域网以及第二局域网以外的外部通信网络中;
其中, 所述远程调试客户端, 用于向调试方代理发送调试信息; 所述调试方代理, 用于获取与所述远程调试客户端对应的进程标识、接 收端口标识以及调试方代理对应的关键字信息,将所述与所述远程调试客户 端对应的进程标识、所述接收端口标识以及与调试方代理对应的关键字信息 以及所述调试信息封装在数据包内, 将所述数据包发送至中转代理; 所述中转代理,用于对所述数据包进行解封装处理以得到所述与所述调 试方代理对应的关键字信息,根据已存储的映射表确定与调试方代理存在对 应关系的被调试方代理,将所述数据包转发至与调试方代理存在对应关系的 被调试方代理;
所述被调试方代理, 用于对所述数据包进行解封装处理以得到调试信 息、 所述与所述远程调试客户端对应的进程标识以及所述接收端口标识, 根 据所述接收端口标识将所述调试信息发送至与所述进程标识对应的远程调 试月良务端相应端口;
所述远程调试服务端, 用于根据所述调试信息进行调试。
7. 根据权利要求 6所述的***, 其中, 所述调试信息包括建立连接请 求信息、 解除连接请求信息、 调试数据。
8. 根据权利要求 7所述的***, 其中, 所述中转代理, 还用于获取所 有被调试方代理的标识信息, 并为每个被调试方代理分配唯一的关键字信 息, 并将所述被调试方代理的标识信息和关键字信息相互对应地存储在映射 表中;
所述调试方代理,还用于获取用户选择的关键字信息, 将所述用户选择 的关键字信息以及所述调试方代理的标识信息发送至中转代理;
所述中转代理,还用于根据所述关键字信息, 确定所述用户选择的关键 字信息对应的被调试方代理, 并建立所述用户选择的关键字信息、 所述用户 选择的关键字信息对应的被调试方代理的标识信息、调试方代理的标识信息 三者之间的映射关系, 并将所述映射关系存储在映射表中。
9. 根据权利要求 7所述的***, 其中, 所述调试方代理具体用于所述 调试方代理接收中转代理发送的被调试方代理状态信息, 所述被调试方代理 状态信息包括相互对应的被调试方代理的标识信息和关键字信息,将所述被 调试方代理状态信息显示出来, 接收用户输入的被调试方代理的关键字信 息, 并将所述用户输入的被调试方代理的关键字信息确定为所述用户选择的 关键字信息。
10. 根据权利要求 7所述的***, 其中, 所述被调试方代理, 用于检测 到远程调试服务端的至少一个端口状态发生变化时,确定所述至少一个端口 对应的端口标识信息,根据所述至少一个端口的当前状态以及对应的端口标 识信息以及被调试方代理的标识信息进行封装, 生成端口指示信息, 将所述 端口指示信息发送至中转代理;
所述中转代理, 用于对所述端口指示信息进行解封装处理,得到所述与 所述被调试方代理对应的关键字信息, 根据已存储的映射表, 确定与被调试 方代理存在对应关系的调试方代理,将所述数据包转发至与被调试方代理存 在对应关系的调试方代理;
所述调试方代理, 还用于根据所述端口指示信息, 确定待调整端口, 并 对所述待调整接口进行状态调整。
PCT/CN2013/087929 2012-11-29 2013-11-27 实现远程调试的方法及*** WO2014082577A1 (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/724,808 US9448914B2 (en) 2012-11-29 2015-05-29 Method and system for implementing remote debugging

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201210499229.5A CN103856361B (zh) 2012-11-29 2012-11-29 实现远程调试的方法及***
CN201210499229.5 2012-11-29

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/724,808 Continuation US9448914B2 (en) 2012-11-29 2015-05-29 Method and system for implementing remote debugging

Publications (1)

Publication Number Publication Date
WO2014082577A1 true WO2014082577A1 (zh) 2014-06-05

Family

ID=50827190

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2013/087929 WO2014082577A1 (zh) 2012-11-29 2013-11-27 实现远程调试的方法及***

Country Status (3)

Country Link
US (1) US9448914B2 (zh)
CN (1) CN103856361B (zh)
WO (1) WO2014082577A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124891A (zh) * 2019-12-02 2020-05-08 腾讯科技(深圳)有限公司 接入状态的检测方法和装置、存储介质及电子装置
CN111858325A (zh) * 2020-07-13 2020-10-30 北京机电工程研究所 基于海鹰翼辉操作***的任务级实时调试装置及方法
US20210263817A1 (en) * 2020-11-09 2021-08-26 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for sending debugging instruction
CN114745418A (zh) * 2022-04-14 2022-07-12 北京字节跳动网络技术有限公司 一种任务访问方法、装置、设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103856361B (zh) * 2012-11-29 2017-10-10 腾讯科技(深圳)有限公司 实现远程调试的方法及***
CN105450463B (zh) * 2014-08-26 2019-10-18 阿里巴巴集团控股有限公司 硬件设备的调试方法、装置和***
CN104503907B (zh) * 2014-12-15 2017-08-29 深圳市盛弘电气股份有限公司 一种基于linux***的应用程序远程调试方法及***
CN104536838A (zh) * 2014-12-18 2015-04-22 中国电子科技集团公司第三十八研究所 一种具有异步监视功能的远程调试方法及***
US10574632B2 (en) * 2016-06-30 2020-02-25 Hcl Technologies Limited System and method for secure sharing of a source code
CN106254436B (zh) * 2016-07-28 2020-02-11 腾讯科技(深圳)有限公司 一种远程调试的方法、相关设备及***
US10223241B2 (en) 2017-03-02 2019-03-05 International Business Machines Corporation Resuming a remote debugging session using a backup node
CN107277107B (zh) * 2017-05-15 2020-11-13 深信服科技股份有限公司 应用调试方法、装置及***
CN107463499B (zh) * 2017-08-08 2020-10-13 百度在线网络技术(北京)有限公司 Adb远程连接方法、装置、设备及存储介质
CN109525628B (zh) * 2017-09-20 2021-09-07 北京国双科技有限公司 Http请求调试方法、装置和***
CN107734042B (zh) * 2017-10-24 2023-12-26 上海电器科学研究所(集团)有限公司 一种低成本远程调试***及方法
CN107800791B (zh) * 2017-10-24 2021-08-17 海信集团有限公司 一种进行调试的方法及设备
CN108337146B (zh) * 2018-01-29 2020-12-08 深圳创维数字技术有限公司 终端调试装置、***及方法
CN110502418B (zh) * 2018-05-17 2023-05-23 长沙博为软件技术股份有限公司 一种实现远程调试的方法
GB201905835D0 (en) 2019-04-26 2019-06-12 Ibm On-premise and off-premise debugging
CN113127326A (zh) * 2019-12-30 2021-07-16 中科星图股份有限公司 基于jdwp的远程调试方法和***
CN111865710A (zh) * 2020-06-18 2020-10-30 王晓 一种基于公网环境下的远程设备调试***
CN112491970B (zh) * 2020-11-09 2022-06-21 山东星宏电讯有限责任公司 一种基于虚拟网络链路的异地调试端部署方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825851A (zh) * 2005-02-25 2006-08-30 微软公司 Windows远程调试器服务
CN1901569A (zh) * 2006-07-05 2007-01-24 华为技术有限公司 远程调试方法及***
US7673180B1 (en) * 2005-05-05 2010-03-02 Sun Microsystems, Inc. Method and apparatus for dispatching a remote debugging agent in a distributed computing environment
CN102279790A (zh) * 2010-06-11 2011-12-14 国际商业机器公司 分布式调试方法和***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7155426B2 (en) * 2001-09-20 2006-12-26 International Business Machines Corporation SQL debugging using stored procedures
US20050216895A1 (en) * 2004-03-23 2005-09-29 Tran Hieu T Method and apparatus for remote debugging of kernel and application software
US20070055957A1 (en) * 2005-09-07 2007-03-08 Richard Birenheide Remote debugging proxy
US8972953B2 (en) * 2010-04-16 2015-03-03 Salesforce.Com, Inc. Methods and systems for internally debugging code in an on-demand service environment
US8589885B2 (en) * 2010-09-30 2013-11-19 Microsoft Corporation Debugger launch and attach on compute clusters
JP2012079130A (ja) * 2010-10-01 2012-04-19 Fujitsu Ltd デバッグ支援プログラム、デバッグ支援装置、及びデバッグ支援方法
CN103856361B (zh) * 2012-11-29 2017-10-10 腾讯科技(深圳)有限公司 实现远程调试的方法及***
US9117019B2 (en) * 2013-07-26 2015-08-25 Sap Se Debugging remote software applications across WAN connections

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1825851A (zh) * 2005-02-25 2006-08-30 微软公司 Windows远程调试器服务
US7673180B1 (en) * 2005-05-05 2010-03-02 Sun Microsystems, Inc. Method and apparatus for dispatching a remote debugging agent in a distributed computing environment
CN1901569A (zh) * 2006-07-05 2007-01-24 华为技术有限公司 远程调试方法及***
CN102279790A (zh) * 2010-06-11 2011-12-14 国际商业机器公司 分布式调试方法和***

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124891A (zh) * 2019-12-02 2020-05-08 腾讯科技(深圳)有限公司 接入状态的检测方法和装置、存储介质及电子装置
CN111858325A (zh) * 2020-07-13 2020-10-30 北京机电工程研究所 基于海鹰翼辉操作***的任务级实时调试装置及方法
US20210263817A1 (en) * 2020-11-09 2021-08-26 Beijing Baidu Netcom Science And Technology Co., Ltd. Method and apparatus for sending debugging instruction
US11860749B2 (en) * 2020-11-09 2024-01-02 Beijing Baidu Netcom Science and Technology Co., Ltd Method and apparatus for sending debugging instruction
CN114745418A (zh) * 2022-04-14 2022-07-12 北京字节跳动网络技术有限公司 一种任务访问方法、装置、设备及存储介质
CN114745418B (zh) * 2022-04-14 2024-07-09 抖音视界有限公司 一种任务访问方法、装置、设备及存储介质

Also Published As

Publication number Publication date
US9448914B2 (en) 2016-09-20
US20150261650A1 (en) 2015-09-17
CN103856361A (zh) 2014-06-11
CN103856361B (zh) 2017-10-10

Similar Documents

Publication Publication Date Title
WO2014082577A1 (zh) 实现远程调试的方法及***
CN102340447B (zh) 一种远程端口镜像实现***及方法
EP2712127A1 (en) Interconnection method, device and system
US20150381563A1 (en) Relay system for transmitting ip address of client to server and method therefor
EP2262185A1 (en) Method and system for forwarding data among private networks
WO2020253631A1 (zh) Ip地址的配置方法、设备及***
CN102420774B (zh) 使用igmp实现内网穿透的方法和内网穿透***
JP2012138901A (ja) リレーサーバを利用したデータ伝送システム及び方法
WO2007136101A1 (ja) 通信モジュール及びこの通信モジュールを備えたアプリケーションプログラム
JP5679343B2 (ja) クラウドシステム、ゲートウェイ装置、通信制御方法、及び通信制御プログラム
US20160156742A1 (en) Relaying system and method of transmitting ip address of client to server using encapsulation protocol
WO2016086755A1 (zh) 一种报文处理的方法和透明代理服务器
WO2016070633A1 (zh) 上网日志生成方法和装置
CN102694738A (zh) 在虚拟专用网网关转发报文的方法以及虚拟专用网网关
CN108093041A (zh) 单通道vdi代理服务***及实现方法
CN103327129B (zh) 针对多wan口网关设备的域名解析方法
WO2015196636A1 (zh) 一种报文采集方法、***、网络设备及网管中心
CN104168302B (zh) 设备操控实现方法、***和代理网关
US20140301226A1 (en) Apparatus and method for network monitoring and packet inspection
WO2010148723A1 (zh) 外部终端远程登录方法、主设备及从设备
CN107483369A (zh) 一种报文处理方法及虚拟交换机
CN111478821B (zh) 一种网络性能测试方法和***
KR100597405B1 (ko) 소켓 어플리케이션 프로그램을 이용한 데이터 중계 시스템및 데이터 중계 방법
WO2015096734A1 (zh) 一种业务数据的下行传输方法及分组数据网关
JP2013126219A (ja) 転送サーバおよび転送プログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13858957

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 09.10.2015)

122 Ep: pct application non-entry in european phase

Ref document number: 13858957

Country of ref document: EP

Kind code of ref document: A1