CN103856361B - 实现远程调试的方法及系统 - Google Patents
实现远程调试的方法及系统 Download PDFInfo
- Publication number
- CN103856361B CN103856361B CN201210499229.5A CN201210499229A CN103856361B CN 103856361 B CN103856361 B CN 103856361B CN 201210499229 A CN201210499229 A CN 201210499229A CN 103856361 B CN103856361 B CN 103856361B
- Authority
- CN
- China
- Prior art keywords
- debugging
- debugged
- agency
- message
- remote
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
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
技术领域
本发明涉及通信技术领域,尤其涉及一种实现远程调试的方法及系统。
背景技术
远程调试(Remote Debugging)是指在一台计算机上使用调试工具调试另外一台计算机上的程序(program)的一种调试策略。
现有远程调试技术主要包括两个组成部分:调试方(Debugger)和被调试方(Debuggee)。使用调试工具进行调试的一方称为“调试方”,例如,运行调试工具的客户端Visual Studio 2010;被调试工具调试的一方称为“被调试方”,例如,运行着调试工具的服务器端MSVSMON。通过远程调试,调试方可以在自己的调试环境中第一时间进入被调试方出现问题的环境中,追踪和定位问题的根源,提高调试方发现问题和解决问题的效率,而备受软件调试人员的青睐。
现有远程调试技术是通过第三方调试工具实现基于局域网(LAN,LocalAreaNetwork)内的远程调试与分析功能,目前常用的第三方调试工具包括:Windows平台下的Visual Studio、WinDbg;Linux平台下的gdb(GNU Debugger)等。其中Visual Studio和WinDbg这两个工具都来自于微软(MicrosoftCorporation),而gdb则是GNU系统的标准调试器。
虽然上述的第三方工具都提供了远程调试的功能,即提供了调试工具的客户端和服务器端程序,但是在面对调试方和被调试方位于不同的局域网时,由于局域网通常有自己的网关在起作用,因此调试方与被调试方之间无法直接建立连接,也就是说,这些调试工具的远程调试功能将无法直接使用。
发明内容
本发明的实施例提供一种实现远程调试的方法及系统,能够实现跨局域网的远程调试。
为达到上述目的,本发明的实施例采用如下技术方案:
一种实现远程调试的方法,应用于远程调试系统,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中,该方法包括:
远程调试客户端向调试方代理发送调试信息;
调试方代理获取与所述远程调试客户端对应的进程标识、接收端口标识以及调试方代理对应的关键字信息;将所述与所述远程调试客户端对应的进程标识、所述接收端口标识以及调试方代理对应的关键字信息以及所述调试信息封装在数据包内;将所述数据包发送至中转代理;
中转代理对所述数据包进行解封装处理,得到所述与所述调试方代理对应的关键字信息;根据已存储的映射表,确定与调试方代理存在对应关系的被调试方代理;将所述数据包转发至与调试方代理存在对应关系的被调试方代理;
被调试方代理对所述数据包进行解封装处理,得到调试信息、所述与所述远程调试客户端对应的进程标识以及所述接收端口标识;根据所述接收端口标识,将所述调试信息发送至与所述进程标识对应的远程调试服务端相应端口;
远程调试服务端根据所述调试信息进行调试。
一种实现远程调试的系统,其特征在于,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中;
其中,远程调试客户端,用于向调试方代理发送调试信息;
所述调试方代理,用于获取与所述远程调试客户端对应的进程标识、接收端口标识以及调试方代理对应的关键字信息;将所述与所述远程调试客户端对应的进程标识、所述接收端口标识以及调试方代理对应的关键字信息以及所述调试信息封装在数据包内;将所述数据包发送至中转代理;
所述中转代理,用于对所述数据包进行解封装处理,得到所述与所述调试方代理对应的关键字信息;根据已存储的映射表,确定与调试方代理存在对应关系的被调试方代理;将所述数据包转发至与调试方代理存在对应关系的被调试方代理;
所述被调试方代理,用于对所述数据包进行解封装处理,得到调试信息、所述与所述远程调试客户端对应的进程标识以及所述接收端口标识;根据所述接收端口标识,将所述调试信息发送至与所述进程标识对应的远程调试服务端相应端口;
所述远程调试服务端,用于根据所述调试信息进行调试。
本发明实施例提供的一种实现远程调试的方法及系统,在远程调试系统中设置了中转代理、调试方代理和被调试方代理,中转代理依据存储的映射表完成对调试方代理和被调试方代理发送过来的信息进行转发,实现了处于不同局域网内部的远程调试客户端和远程调试服务端之间的信息传输。相比于现有技术中,只能在同一个局域网内才能实现远程调试,本发明实施例能够实现跨局域网的远程调试,提供远程调试的适用性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例1中的一种实现远程调试的方法流程图;
图2为本发明实施例1中的一种调试方代理和被调试方代理之间的映射关系的建立方法流程图;
图3为本发明实施例1中的一种接口状态同步方法流程图;
图4为本发明实施例2中的一种实现远程调试的系统的组成框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例1
本发明实施例提供了一种实现远程调试的方法,可以应用于一种远程调试系统中,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中。各个局域网之间通过网关分隔开。
在上述系统中,中转代理作为核心转发模块,一般在一个远程调试系统中只设置一个,并设置于独立的服务器上,而调试方代理与被调试方代理可以分别设置一个或者多个,并且所有调试方代理与被调试方代理均与同一个中转代理取得连接。为了管理方便,通常设置为一个调试方代理负责一个局域网内的一个或多个远程调试客户端的调试信息发送和接收,而一个被调试方代理负责一个局域网内的一个或多个远程调试服务端的调试信息发送和接收。
在本发明实施例提供的远程调试系统中,各个远程调试客户端和服务端均基于诸如Windows平台下的Visual Studio、WinDbg,Linux平台下的gdb(GNUDebugger)在内的任意一种或多种远程调试工具进行设置。调试方代理可以与一个或多个远程调试客户端集成在同一个设备中,而被调试方代理可以与一个或多个远程调试服务端集成在同一个设备中。
基于上述远程调试系统,本发明实施例提供的一种实现远程调试的方法,如图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映射表
在上述表1中,关键字信息即为每个行的行标识,而被调试方代理和调试方代理的标识信息则由套接字来进行标识。被调试方状态和调试方状态可以用0(无此设备)、READY(可以进行远程调试)、BUSY(正在进行远程调试)、ERROR(设备报错)。
值得说明的是,上述表1只是本发明实施例中的一种示例,在该映射表关键字信息、被调试方代理套接字和调试方代理套接字是必须进行存储的。其它表项的设置可以理解为为了维护人员的监控和维护工作,并不是必要的。
203、中转代理将所述被调试方代理的标识信息和关键字信息之间的对应关系存储在映射表中。
其中,所述被调试方代理的标识信息和关键字信息之间的对应关系可以参见表1中第一行的存储方法。
204、调试方代理获取用户选择的关键字信息。
其中,所述获取用户选择的关键字信息的具体实现方法如下包括:
所述调试方代理接收中转代理发送的被调试方代理状态信息,所述被调试方代理状态信息包括被调试方代理的标识信息和关键字信息之间的对应关系;所述调试方代理将所述被调试方代理状态信息显示出来;所述调试方代理接收用户输入的被调试方代理的标识信息,并将所述用户输入的被调试方代理的标识信息确定为所述用户选择的关键字信息。
205、调试方代理将所述用户选择的关键字信息以及所述调试方代理的标识信息发送至中转代理。
206、中转代理根据所述关键字信息,确定所述用户选择的关键字信息对应的被调试方代理。
207、中转代理建立所述用户选择的关键字信息、所述用户选择的关键字信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的映射关系。
其中,所述用户选择的关键字信息、所述用户选择的关键字信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的映射关系的存储可以参见表1的第2行和第3行记载的内容。
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 (10)
1.一种实现远程调试的方法,其特征在于,应用于远程调试系统,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中,该方法包括:
远程调试客户端向调试方代理发送调试信息;
调试方代理获取与所述远程调试客户端对应的进程标识、接收端口标识以及调试方代理对应的关键字信息;将所述与所述远程调试客户端对应的进程标识、所述接收端口标识以及调试方代理对应的关键字信息以及所述调试信息封装在数据包内;将所述数据包发送至中转代理;
中转代理对所述数据包进行解封装处理,得到与所述调试方代理对应的关键字信息;根据已存储的映射表,确定与调试方代理存在对应关系的被调试方代理;将所述数据包转发至与调试方代理存在对应关系的被调试方代理;
被调试方代理对所述数据包进行解封装处理,得到调试信息、所述与所述远程调试客户端对应的进程标识以及所述接收端口标识;根据所述接收端口标识,将所述调试信息发送至与所述进程标识对应的远程调试服务端相应端口;
远程调试服务端根据所述调试信息进行调试。
2.根据权利要求1所述的方法,其特征在于,所述调试信息包括建立连接请求信息、解除连接请求信息、调试数据。
3.根据权利要求2所述的方法,其特征在于,在所述远程调试客户端向调试方代理发送调试信息之前,还包括:
中转代理获取所有被调试方代理的标识信息,并为每个被调试方代理分配唯一的关键字信息,并将所述被调试方代理的标识信息和关键字信息之间的对应关系存储在映射表中;
调试方代理获取用户选择的关键字信息;将所述用户选择的关键字信息以及所述调试方代理的标识信息发送至中转代理;
中转代理根据所述关键字信息,确定所述用户选择的关键字信息对应的被调试方代理,并建立所述用户选择的关键字信息、所述用户选择的关键字信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的映射关系,并将所述映射关系存储在映射表中。
4.根据权利要求3所述的方法,其特征在于,所述调试方代理获取用户选择的关键字信息包括:
所述调试方代理接收中转代理发送的被调试方代理状态信息,所述被调试方代理状态信息包括被调试方代理的标识信息和关键字信息之间的对应关系;
所述调试方代理将所述被调试方代理状态信息显示出来;
所述调试方代理接收用户输入的被调试方代理的标识信息,并将所述用户输入的被调试方代理的标识信息确定为所述用户选择的关键字信息。
5.根据权利要求3所述的方法,其特征在于,还包括:
被调试方代理检测到远程调试服务端的至少一个端口状态发生变化时,确定所述至少一个端口对应的端口标识信息;根据所述至少一个端口的当前状态以及对应的端口标识信息以及被调试方代理的标识信息进行封装,生成端口指示信息;将所述端口指示信息发送至中转代理;
中转代理对所述端口指示信息进行解封装处理,得到与所述被调试方代理对应的关键字信息;根据已存储的映射表,确定与被调试方代理存在对应关系的调试方代理;将所述端口指示信息转发至与被调试方代理存在对应关系的调试方代理;
调试方代理根据所述端口指示信息,确定待调整端口,并对所述待调整端口进行状态调整。
6.一种实现远程调试的系统,其特征在于,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中;
其中,远程调试客户端,用于向调试方代理发送调试信息;
所述调试方代理,用于获取与所述远程调试客户端对应的进程标识、接收端口标识以及调试方代理对应的关键字信息;将所述与所述远程调试客户端对应的进程标识、所述接收端口标识以及调试方代理对应的关键字信息以及所述调试信息封装在数据包内;将所述数据包发送至中转代理;
所述中转代理,用于对所述数据包进行解封装处理,得到与所述调试方代理对应的关键字信息;根据已存储的映射表,确定与调试方代理存在对应关系的被调试方代理;将所述数据包转发至与调试方代理存在对应关系的被调试方代理;
所述被调试方代理,用于对所述数据包进行解封装处理,得到调试信息、所述与所述远程调试客户端对应的进程标识以及所述接收端口标识;根据所述接收端口标识,将所述调试信息发送至与所述进程标识对应的远程调试服务端相应端口;
所述远程调试服务端,用于根据所述调试信息进行调试。
7.根据权利要求6所述的系统,其特征在于,所述调试信息包括建立连接请求信息、解除连接请求信息、调试数据。
8.根据权利要求7所述的系统,其特征在于,所述中转代理,还用于获取所有被调试方代理的标识信息,并为每个被调试方代理分配唯一的关键字信息,并将所述被调试方代理的标识信息和关键字信息之间的对应关系存储在映射表中;
所述调试方代理,还用于获取用户选择的关键字信息;将所述用户选择的关键字信息以及所述调试方代理的标识信息发送至中转代理;
所述中转代理,还用于根据所述关键字信息,确定所述用户选择的关键字信息对应的被调试方代理,并建立所述用户选择的关键字信息、所述用户选择的关键字信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的映射关系,并将所述映射关系存储在映射表中。
9.根据权利要求7所述的系统,其特征在于,所述调试方代理具体用于所述调试方代理接收中转代理发送的被调试方代理状态信息,所述被调试方代理状态信息包括被调试方代理的标识信息和关键字信息之间的对应关系;将所述被调试方代理状态信息显示出来;接收用户输入的被调试方代理的标识信息,并将所述用户输入的被调试方代理的标识信息确定为所述用户选择的关键字信息。
10.根据权利要求7所述的系统,其特征在于,所述被调试方代理,用于检测到远程调试服务端的至少一个端口状态发生变化时,确定所述至少一个端口对应的端口标识信息;根据所述至少一个端口的当前状态以及对应的端口标识信息以及被调试方代理的标识信息进行封装,生成端口指示信息;将所述端口指示信息发送至中转代理;
所述中转代理,用于对所述端口指示信息进行解封装处理,得到所述与所述被调试方代理对应的关键字信息;根据已存储的映射表,确定与被调试方代理存在对应关系的调试方代理;将所述数据包转发至与被调试方代理存在对应关系的调试方代理;
所述调试方代理,还用于根据所述端口指示信息,确定待调整端口,并对所述待调整端口进行状态调整。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210499229.5A CN103856361B (zh) | 2012-11-29 | 2012-11-29 | 实现远程调试的方法及系统 |
PCT/CN2013/087929 WO2014082577A1 (zh) | 2012-11-29 | 2013-11-27 | 实现远程调试的方法及系统 |
US14/724,808 US9448914B2 (en) | 2012-11-29 | 2015-05-29 | Method and system for implementing remote debugging |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210499229.5A CN103856361B (zh) | 2012-11-29 | 2012-11-29 | 实现远程调试的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103856361A CN103856361A (zh) | 2014-06-11 |
CN103856361B true CN103856361B (zh) | 2017-10-10 |
Family
ID=50827190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210499229.5A Active CN103856361B (zh) | 2012-11-29 | 2012-11-29 | 实现远程调试的方法及系统 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9448914B2 (zh) |
CN (1) | CN103856361B (zh) |
WO (1) | WO2014082577A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865710A (zh) * | 2020-06-18 | 2020-10-30 | 王晓 | 一种基于公网环境下的远程设备调试系统 |
Families Citing this family (21)
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请求调试方法、装置和系统 |
CN107800791B (zh) * | 2017-10-24 | 2021-08-17 | 海信集团有限公司 | 一种进行调试的方法及设备 |
CN107734042B (zh) * | 2017-10-24 | 2023-12-26 | 上海电器科学研究所(集团)有限公司 | 一种低成本远程调试系统及方法 |
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 |
CN111124891B (zh) * | 2019-12-02 | 2023-07-14 | 腾讯科技(深圳)有限公司 | 接入状态的检测方法和装置、存储介质及电子装置 |
CN113127326A (zh) * | 2019-12-30 | 2021-07-16 | 中科星图股份有限公司 | 基于jdwp的远程调试方法和系统 |
CN111858325A (zh) * | 2020-07-13 | 2020-10-30 | 北京机电工程研究所 | 基于海鹰翼辉操作系统的任务级实时调试装置及方法 |
CN112491970B (zh) * | 2020-11-09 | 2022-06-21 | 山东星宏电讯有限责任公司 | 一种基于虚拟网络链路的异地调试端部署方法 |
CN112235417B (zh) * | 2020-11-09 | 2022-06-10 | 北京百度网讯科技有限公司 | 调试指令的发送方法、装置 |
CN114745418B (zh) * | 2022-04-14 | 2024-07-09 | 抖音视界有限公司 | 一种任务访问方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (9)
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 |
US7748033B2 (en) * | 2005-02-25 | 2010-06-29 | Microsoft Corporation | Windows remote debugger service |
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 |
-
2012
- 2012-11-29 CN CN201210499229.5A patent/CN103856361B/zh active Active
-
2013
- 2013-11-27 WO PCT/CN2013/087929 patent/WO2014082577A1/zh active Application Filing
-
2015
- 2015-05-29 US US14/724,808 patent/US9448914B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
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 (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865710A (zh) * | 2020-06-18 | 2020-10-30 | 王晓 | 一种基于公网环境下的远程设备调试系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103856361A (zh) | 2014-06-11 |
WO2014082577A1 (zh) | 2014-06-05 |
US20150261650A1 (en) | 2015-09-17 |
US9448914B2 (en) | 2016-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103856361B (zh) | 实现远程调试的方法及系统 | |
CN106301845A (zh) | 交换机日志记录模块 | |
EP3720075B1 (en) | Data transmission method and virtual switch | |
CN102546311B (zh) | 一种在eoc设备上实现环路检测的方法 | |
CN103840976B (zh) | 通信方法、光设备和网络设备 | |
CN109981329A (zh) | 确定网络设备连接关系的方法、设备及系统 | |
CN108429820A (zh) | 一种物联网应用层的通信方法、系统及终端设备 | |
CN103039040B (zh) | 用于有效地初始化电信网络的方法以及该电信网络 | |
CN107645428A (zh) | 一种自动测试方法及装置 | |
CN104883277B (zh) | 一种基于bmc的信息交互方法和系统 | |
RU2602333C2 (ru) | Сетевая система, способ обработки пакетов и носитель записи | |
CN108881127A (zh) | 一种控制远程访问权限的方法及系统 | |
CN105812221B (zh) | 虚拟可扩展本地区域网络中数据传输的设备和方法 | |
US20110176437A1 (en) | Traffic volume monitoring system | |
CN109039764A (zh) | 一种分布式存储系统的网络参数配置方法 | |
CN101355585B (zh) | 一种分布式架构数据通信设备的消息保护系统及方法 | |
CN110337103A (zh) | 一种基于802.11协议的无连接数据隐蔽传输方法 | |
CN107332689A (zh) | 嵌入式pon终端设备tr069协议互通模拟系统及方法 | |
CN105323095B (zh) | 一种网络故障检测方法、系统及接入设备 | |
CN107426014A (zh) | 一种eoc设备的管理系统 | |
CN106572103A (zh) | 一种基于sdn网络架构的隐藏端口检测方法 | |
CN104468497B (zh) | 监控系统的数据隔离方法及装置 | |
CN109167729A (zh) | 拓扑发现方法、装置及多业务传输网络系统 | |
CN108259442A (zh) | 一种慢协议报文处理方法及相关装置 | |
CN103987017B (zh) | 一种用于在wlan中建立服务访问的方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right |
Effective date of registration: 20190731 Address after: Shenzhen Futian District City, Guangdong province 518044 Zhenxing Road, SEG Science Park 2 East Room 403 Co-patentee after: Tencent cloud computing (Beijing) limited liability company Patentee after: Tencent Technology (Shenzhen) Co., Ltd. Address before: Shenzhen Futian District City, Guangdong province 518000 Zhenxing Road, SEG Science Park 2 East Room 403 Patentee before: Tencent Technology (Shenzhen) Co., Ltd. |
|
TR01 | Transfer of patent right |