【技术实现步骤摘要】
实现远程调试的方法及系统
本专利技术涉及通信
,尤其涉及一种实现远程调试的方法及系统。
技术介绍
远程调试(RemoteDebugging)是指在一台计算机上使用调试工具调试另外一台计算机上的程序(program)的一种调试策略。现有远程调试技术主要包括两个组成部分:调试方(Debugger)和被调试方(Debuggee)。使用调试工具进行调试的一方称为“调试方”,例如,运行调试工具的客户端VisualStudio2010;被调试工具调试的一方称为“被调试方”,例如,运行着调试工具的服务器端MSVSMON。通过远程调试,调试方可以在自己的调试环境中第一时间进入被调试方出现问题的环境中,追踪和定位问题的根源,提高调试方发现问题和解决问题的效率,而备受软件调试人员的青睐。现有远程调试技术是通过第三方调试工具实现基于局域网(LAN,LocalAreaNetwork)内的远程调试与分析功能,目前常用的第三方调试工具包括:Windows平台下的VisualStudio、WinDbg;Linux平台下的gdb(GNUDebugger)等。其中VisualStudio和WinDbg这两个工具都来自于微软(MicrosoftCorporation),而gdb则是GNU系统的标准调试器。虽然上述的第三方工具都提供了远程调试的功能,即提供了调试工具的客户端和服务器端程序,但是在面对调试方和被调试方位于不同的局域网时,由于局域网通常有自己的网关在起作用,因此调试方与被调试方之间无法直接建立连接,也就是说,这些调试工具的远程调试功能将无法直接使用。
技术实现思路
本专利技术的实 ...
【技术保护点】
一种实现远程调试的方法,其特征在于,应用于远程调试系统,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中,该方法包括:远程调试客户端向调试方代理发送调试信息;调试方代理获取与所述远程调试客户端对应的进程标识、接收端口标识以及调试方代理对应的关键字信息;将所述与所述远程调试客户端对应的进程标识、所述接收端口标识以及调试方代理对应的关键字信息以及所述调试信息封装在数据包内;将所述数据包发送至中转代理;中转代理对所述数据包进行解封装处理,得到所述与所述调试方代理对应的关键字信息;根据已存储的映射表,确定与调试方代理存在对应关系的被调试方代理;将所述数据包转发至与调试方代理存在对应关系的被调试方代理;被调试方代理对所述数据包进行解封装处理,得到调试信息、所述与所述远程调试客户端对应的进程标识以及所述接收端口标识;根据所述接收端口标识,将所述调试信息发送 ...
【技术特征摘要】
1.一种实现远程调试的方法,其特征在于,应用于远程调试系统,所述远程调试系统包括远程调试客户端、调试方代理、中转代理、被调试方代理、远程调试服务端;所述远程调试客户端与调试方代理同属于第一局域网,所述被调试方代理与远程调试服务端同属于第二局域网,所述第二局域网与所述第一局域网是不同的通信网络,所述中转代理属于第一局域网以及第二局域网以外的外部通信网络中,该方法包括:远程调试客户端向调试方代理发送调试信息;调试方代理获取与所述远程调试客户端对应的进程标识、接收端口标识以及调试方代理对应的关键字信息;将所述与所述远程调试客户端对应的进程标识、所述接收端口标识以及调试方代理对应的关键字信息以及所述调试信息封装在数据包内;将所述数据包发送至中转代理;中转代理对所述数据包进行解封装处理,得到与所述调试方代理对应的关键字信息;根据已存储的映射表,确定与调试方代理存在对应关系的被调试方代理;将所述数据包转发至与调试方代理存在对应关系的被调试方代理;被调试方代理对所述数据包进行解封装处理,得到调试信息、所述与所述远程调试客户端对应的进程标识以及所述接收端口标识;根据所述接收端口标识,将所述调试信息发送至与所述进程标识对应的远程调试服务端相应端口;远程调试服务端根据所述调试信息进行调试。2.根据权利要求1所述的方法,其特征在于,所述调试信息包括建立连接请求信息、解除连接请求信息、调试数据。3.根据权利要求2所述的方法,其特征在于,在所述远程调试客户端向调试方代理发送调试信息之前,还包括:中转代理获取所有被调试方代理的标识信息,并为每个被调试方代理分配唯一的关键字信息,并将所述被调试方代理的标识信息和关键字信息之间的对应关系存储在映射表中;调试方代理获取用户选择的关键字信息;将所述用户选择的关键字信息以及所述调试方代理的标识信息发送至中转代理;中转代理根据所述关键字信息,确定所述用户选择的关键字信息对应的被调试方代理,并建立所述用户选择的关键字信息、所述用户选择的关键字信息对应的被调试方代理的标识信息、调试方代理的标识信息三者之间的映射关系,并将所述映射关系存储在映射表中。4.根据权利要求3所述的方法,其特征在于,所述调试方代理获取用户选择的关键字信息包括:所述调试方代理接收中转代理发送的被调试方代理状态信息,所述被调试方代理状态信息包括被调试方代理的标识信息和关键字信息之间的对应关系;所述调试方代理将所述被调试方代理状态信息显示出来;所述调试方代理接收用户输入的被调试方代理的标识信息,并将所述用户输入的被调试方代理的标识信息确定为所述用户选择的关键字信息。5.根据权利要求3所述的方法,其特征在于,还包括:被调试方代理检测到远程调试服务端的至少一个端口状态发生变化时,确定所述至少一个端口对应的端口标识信息;根据所述至少一个端口的当前状态以及对应的端口标识信息以及被调试方代理的标识信息进行封装,生成端口指示信息;将所述端口指示信息发送至中转代理;中转代理对所述端口指示信息进行解封装处理,得到与所述被调试方代理对应的关键字信息;根据已存储的映射表,确定与被调试方代理存在对应关系的调试方代理;将所述端口指示信息转发至与被调试方代理存在对应关系的调试方代理;调试方代理根据所述端口指示信息,确定待调整端口,并对所述待调整端口...
【专利技术属性】
技术研发人员:李峰,陈旭东,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。