一种远程调试的方法、相关设备及系统技术方案

技术编号:14270149 阅读:90 留言:0更新日期:2016-12-23 15:04
本发明专利技术实施例公开了一种远程调试的方法,该方法应用于远程调试的系统,系统中包括至少一个客户端以及服务器,在每个客户端中部署客户端代理,在服务器中部署服务器代理;向服务器代理发送客户端识别标识;当服务器代理根据客户端识别标识确定客户端身份时,接收服务器代理发送的待调试业务数据;将待调试业务数据发送至客户端中的集成开发环境IDE,待调试业务数据用于IDE进行调试,并得到业务调试数据;接收IDE发送的所述业务调试数据;将业务调试数据发送至服务器代理。本发明专利技术还提供一种客户端代理、服务器代理以及远程调试的系统。本发明专利技术可以绕开客户端侧的防火墙安全策略限制,从而实现在防火墙安全策略限制的情况下仍可以进行远程调试。

【技术实现步骤摘要】

本专利技术涉及网络
,尤其涉及一种远程调试的方法、相关设备及系统
技术介绍
对于超文本预处理器(英文全称:Hypertext Preprocessor,英文缩写:PHP)的程序而言,本地开发机需要随时随地访问PHP,并通过跟踪、调试和分析来确定其运行状况,以此来进行远程设备调试和程序的更新。现有方案中,可以采用开放源代码的PHP程序调试器Xdebug进行远程调试,请参阅图1,图1为现有技术中Xdebug远程调试的流程示意图,下面将简单介绍采用Xdebug远程调试的方法:第一步,本地开发机的集成开发环境(英文全称:Integrated Development Environment,英文缩写:IDE)开始监听9000端口的传输控制协议(英文全称:Transmission Control Protocol,英文缩写:TCP)连接请求;第二步,本地开发机通过浏览器访问待调试PHP请求,并携带Xdebug标识,该标识名未XDEBUG_SESSION;第三步,PHP收到请求后,主动向本地开发机的9000端口发起TCP连接,从而与本地开发机的IDE建立了TCP连接;第四步,本地开发机的IDE与PHP通过第三步建立的TCP连接进行调试。然而,采用Xdebug远程调试的方法只能应用在没有防火墙安全策略限制的网络环境下,但是在绝大多数情况下,本地开发机网络都存在防火墙安全策略限制,那么在Xdebug远程调试的方法的第三步中,PHP会因为本地开发机存在防火墙机制从而无法建立连接,这也将无法进行设备间的远程调试。
技术实现思路
本专利技术实施例提供了一种远程调试的方法、相关设备及系统,可以在客户端与服务器中分别部署代理,由于是客户端代理主动向服务器代理发送客户端识别标识,从而绕开了客户端侧的防火墙限制,从而实现在防火墙安全策略限制的情况下仍可以进行远程调试。有鉴于此,本专利技术第一方面提供了一种远程调试的方法,所述方法应用于远程调试的系统,所述系统中包括至少一个客户端以及服务器,其中,在每个客户端中部署客户端代理,在所述服务器中部署服务器代理,针对所述每个客户端中部署的所述客户端代理,所述方法包括:向所述服务器代理发送客户端识别标识;当所述服务器代理根据所述客户端识别标识确定客户端身份时,接收所述服务器代理发送的待调试业务数据;将所述待调试业务数据发送至所述客户端中的集成开发环境IDE,所述待调试业务数据用于所述IDE进行调试,并得到业务调试数据;接收所述IDE发送的所述业务调试数据;将所述业务调试数据发送至所述服务器代理,所述业务调试数据用于所述服务器进行业务调试。本专利技术第二方面提供了一种远程调试的方法,所述方法应用于远程调试的系统,所述系统中包括至少一个客户端以及服务器,其中,在每个客户端中部署客户端代理,在所述服务器中部署服务器代理,所述方法包括:接收至少一个客户端代理发送的客户端识别标识;根据所述客户端识别标识确定每个客户端的身份;根据所述每个客户端的身份,向每个客户端代理发送对应的待调试业务数据,所述待调试业务数据用于所述客户端中的集成开发环境IDE进行调试,并得到业务调试数据;接收所述每个客户端代理发送的所述业务调试数据,所述业务调试数据用于所述服务器进行业务调试。本专利技术第三方面提供了一种客户端代理,所述客户端代理部署于客户端,所述客户端应用于远程调试的系统,所述系统还包括服务器,所述服务器中部署服务器代理,所述客户端代理包括:第一发送模块,用于向所述服务器代理发送客户端识别标识;第一接收模块,用于当所述服务器代理根据所述第一发送模块发送的所述客户端识别标识确定客户端身份时,接收所述服务器代理发送的待调试业务数据;第二发送模块,用于将所述第一接收模块接收的所述待调试业务数据发送至所述客户端中的集成开发环境IDE,所述待调试业务数据用于所述IDE进行调试,并得到业务调试数据;第二接收模块,用于接收所述IDE发送的所述业务调试数据;第三发送模块,用于将所述第二接收模块接收的所述业务调试数据发送至所述服务器代理,所述业务调试数据用于所述服务器进行业务调试。本专利技术第四方面提供了一种服务器代理,所述服务器代理部署于服务器,所述服务器应用于远程调试的系统,所述系统还包括至少一个客户端,在每个客户端中部署客户端代理,所述服务器代理包括:第一接收模块,用于接收至少一个客户端代理发送的客户端识别标识;确定模块,用于根据所述第一接收模块接收的所述客户端识别标识确定每个客户端的身份;第一发送模块,用于根据所述确定模块确定的所述每个客户端的身份,向每个客户端代理发送对应的待调试业务数据,所述待调试业务数据用于所述客户端中的集成开发环境IDE进行调试,并得到业务调试数据;第二接收模块,用于接收所述每个客户端代理发送的所述业务调试数据,所述业务调试数据用于所述服务器进行业务调试。本专利技术第五方面提供了一种远程调试的系统,所述系统包括至少一个客户端以及服务器,其中,在每个客户端中部署客户端代理,在所述服务器中部署服务器代理;所述客户端代理向所述服务器代理发送客户端识别标识;所述服务器代理根据所述客户端识别标识确定每个客户端的身份;所述服务器代理根据所述每个客户端的身份,向每个客户端代理发送对应的待调试业务数据,所述客户端代理将所述待调试业务数据发送至所述客户端中的集成开发环境IDE,所述待调试业务数据用于所述IDE进行调试,并得到业务调试数据;所述客户端代理接收所述IDE发送的所述业务调试数据;所述客户端代理将所述业务调试数据发送至所述服务器代理,所述业务调试数据用于所述服务器进行业务调试。从以上技术方案可以看出,本专利技术实施例具有以下优点:本专利技术实施例中,提供了一种远程调试的方法,该方法应用于远程调试的系统,该系统中包括至少一个客户端以及服务器,其中,每个客户端中部署客户端代理,而在服务器中部署服务器代理,每个客户端中部署的户端代理分别向服务器代理发送客户端识别标识,当服务器代理根据客户端识别标识确定客户端身份时,客户端代理接收服务器代理发送的待调试业务数据,待调试业务数据用于客户端中的集成开发环境进行调试,并得到业务调试数据,然后接收集成开发环境发送的业务调试数据,最后将业务调试数据发送至服务器代理,业务调试数据用于服务器进行业务调试。通过上述方式,在客户端与服务器中分别部署代理,由于是客户端代理主动向服务器代理发送客户端识别标识,从而绕开了客户端侧的防火墙限制,从而实现在防火墙安全策略限制的情况下仍可以进行远程调试。附图说明图1为现有技术中Xdebug远程调试的流程示意图;图2为本专利技术实施例中远程调试的系统架构图;图3为本专利技术实施例中远程调试的方法一个交互实施例示意图;图4为本专利技术实施例中远程调试的方法一个实施例示意图;图5为本专利技术实施例中客户端代理的工作流程示意图;图6为本专利技术实施例中远程调试的方法另一个实施例示意图;图7为本专利技术实施例中服务器代理的工作流程示意图;图8为应用场景中跨防火墙远程调试的流程示意图;图9为本专利技术实施例中客户端代理一个实施例示意图;图10为本专利技术实施例中客户端代理另一个实施例示意图;图11为本专利技术实施例中客户端代理另一个实施例示意图;图12为本专利技术实施例中客户端代理另一个实施例示意图;图13为本专利技术实施本文档来自技高网...
一种远程调试的方法、相关设备及系统

【技术保护点】
一种远程调试的方法,其特征在于,所述方法应用于远程调试的系统,所述系统中包括至少一个客户端以及服务器,其中,在每个客户端中部署客户端代理,在所述服务器中部署服务器代理,针对所述每个客户端中部署的所述客户端代理,所述方法包括:向所述服务器代理发送客户端识别标识;当所述服务器代理根据所述客户端识别标识确定客户端身份时,接收所述服务器代理发送的待调试业务数据;将所述待调试业务数据发送至所述客户端中的集成开发环境IDE,所述待调试业务数据用于所述IDE进行调试,并得到业务调试数据;接收所述IDE发送的所述业务调试数据;将所述业务调试数据发送至所述服务器代理,所述业务调试数据用于所述服务器进行业务调试。

【技术特征摘要】
1.一种远程调试的方法,其特征在于,所述方法应用于远程调试的系统,所述系统中包括至少一个客户端以及服务器,其中,在每个客户端中部署客户端代理,在所述服务器中部署服务器代理,针对所述每个客户端中部署的所述客户端代理,所述方法包括:向所述服务器代理发送客户端识别标识;当所述服务器代理根据所述客户端识别标识确定客户端身份时,接收所述服务器代理发送的待调试业务数据;将所述待调试业务数据发送至所述客户端中的集成开发环境IDE,所述待调试业务数据用于所述IDE进行调试,并得到业务调试数据;接收所述IDE发送的所述业务调试数据;将所述业务调试数据发送至所述服务器代理,所述业务调试数据用于所述服务器进行业务调试。2.根据权利要求1所述的方法,其特征在于,所述向所述服务器代理发送客户端识别标识,包括:通过所述服务器代理的第一端口向所述服务器代理发送第一传输控制协议TCP连接请求;当根据所述第一TCP连接请求建立数据传输通道时,通过所述数据传输通道向所述服务器代理发送所述客户端识别标识。3.根据权利要求1所述的方法,其特征在于,所述接收所述IDE发送的所述业务调试数据之前,所述方法还包括:判断是否接收到初始调试请求;若接收到所述初始调试请求,则与所述IDE建立TCP连接通道,并通过所述TCP连接通道向所述IDE发送所述待调试业务数据;若未接收到所述初始调试请求,则向所述IDE转发所述待调试业务数据。4.根据权利要求3所述的方法,其特征在于,所述与所述IDE建立TCP连接,并根据所述TCP连接向所述IDE发送所述待调试业务数据,包括:根据所述初始调试请求,缓存所述待调试业务数据;通过所述IDE代理的第二端口向所述IDE发送第二TCP连接请求;当所述IDE响应所述第二TCP连接请求时,向所述IDE发送所述待调试业务数据。5.一种远程调试的方法、其特征在于,所述方法应用于远程调试的系统,所述系统中包括至少一个客户端以及服务器,其中,在每个客户端中部署客户端代理,在所述服务器中部署服务器代理,所述方法包括:接收至少一个客户端代理发送的客户端识别标识;根据所述客户端识别标识确定每个客户端的身份;根据所述每个客户端的身份,向每个客户端代理发送对应的待调试业务数据,所述待调试业务数据用于所述客户端中的集成开发环境IDE进行调试,并得到业务调试数据;接收所述每个客户端代理发送的所述业务调试数据,所述业务调试数据用于所述服务器进行业务调试。6.根据权利要求5所述的方法,其特征在于,所述接收至少一个客户端代理发送的客户端识别标识,包括:监听所述服务器代理的第一端口是否接收到所述至少一个客户端代理发送的第一传输控制协议TCP连接请求;若监听到所述第一TCP连接请求,则接收所述至少一个客户端代理发送的所述客户端识别标识。7.根据权利要求5所述的方法,其特征在于,所述接收至少一个客户端代理发送的客户端识别标识之前,所述方法还包括:接收所述至少一个客户端代理发送的数据处理请求;若所述数据处理请求为标识注册请求,则获取所述第一端口所对应的所述每个客户端的身份与所述客户端识别标识的关联关系;若所述数据处理请求为数据调试请求,则向所述服务器中的处理器发送数据调试请求,所述数据调试请求用于所述处理器生成所述待调试业务数据。8.根据权利要求7所述的方法,其特征在于,所述向所述服务器中的处理器发送数据调试请求,包括:通过第二端口向所述处理器的第二端口发送第二TCP连接请求;当根据所述第二TCP连接请求建立数据传输通道时,通过所述数据传输通道向所述处理器发送数据调试请求。9.根据权利要求5至8中任一项所述的方法,其特征在于,所述根据所述每个客户端的身份,向每个客户端代理发送对应的待调试业务数据之前,所述方法还包括:若检测到初始调试请求,则获取所述第二端口所对应的所述每个客户端的身份与所述客户端识别标识的关联关系。10.一种客户端代理,其特征在于,所述客户端代理部署于客户端,所述客户端应用于远程调试的系统,所述系统还包括服务器,所述服务器中部署服务器代理,所述客户端代理包括:第一发送模块,用于向所述服务器代理发送客户端识别标识;第一接收模块,用于当所述服务器代理根据所述第一发送模块发送的所述客户端识别标识确定客户端身份时,接收所述服务器代理发送的待调试业务数据;第二发送模块,用于将所述第一接收模块接收的所述待调试业务数据发送至所述客户端中的集成开发环境IDE,所述待调试业务数据用于所述IDE进行调试,并得到业务调试数据;第二接收模块,用于接收所述IDE发送的所述业务调试数据;第三发送模块,用于将所述第二接收模块接...

【专利技术属性】
技术研发人员:朱春林陈和马绍春
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1