远程调试方法、调试服务器及目标机技术

技术编号:20362914 阅读:23 留言:0更新日期:2019-02-16 16:32
本发明专利技术涉及远程调试技术领域,提供一种远程调试方法、调试服务器及目标机。该方法包括:获取目标程序的注册信息;在接收到针对目标程序的调试请求指令后,根据注册信息中的源码路径清单从源码服务器上下载目标程序的源代码;以注册信息中的目标机地址以及调试服务端口为参数调用调试器,在调试器与目标程序之间建立用于在调试过程中传输数据的调试通道;在接收到针对目标程序的调试指令后,将调试指令发送至调试器执行调试,通过调试器获得调试结果。在该方法中,调试开始前的配置工作由调试服务器自动完成,显著提高了调试效率,避免了人为因素导致的错误,实现了对不同的目标程序共享调试资源。

【技术实现步骤摘要】
远程调试方法、调试服务器及目标机
本专利技术涉及远程调试
,具体而言,涉及一种远程调试方法、调试服务器及目标机。
技术介绍
在软件测试过程中,会产生各种各样的错误或异常,对于一些简单的问题,通常可以通过标准输出,日志等信息进行分析和定位问题。然而遇到一些复杂问题时,可能需要知道某个对象的数据,线程的执行情况等,这时就需要用到远程调试技术,进行在线实时调试。然而,在现有技术中,每次调试前都需要人工搭建调试环境、下载源代码并配置调试参数,其过程十分繁琐,导致调试效率低下并且易发生人为错误。
技术实现思路
有鉴于此,本专利技术实施例提供一种远程调试方法、调试服务器及目标机,以改善调试过程中的问题。为实现上述目的,本专利技术提供如下技术方案:第一方面,本专利技术实施例提供一种远程调试方法,应用于调试服务器,包括:获取目标程序的注册信息,注册信息包括目标程序所在的目标机地址、目标程序使用的调试服务端口以及目标程序的源码路径清单;在接收到针对目标程序的调试请求指令后,根据源码路径清单从源码服务器上下载目标程序的源代码;以目标机地址以及调试服务端口为参数调用调试器,在调试器与目标程序之间建立用于在调试过程中传输数据的调试通道;在接收到针对目标程序的调试指令后,将调试指令发送至调试器执行调试,通过调试器获得调试结果。在采用上述方法进行远程调试时,调试服务器会首先获取目标程序的注册信息,然后自动根据注册信息下载相应的源代码以及建立调试器与目标程序之间的调试通道,并在接收到相应的指令后,将调试指令发送给调试器进行交互式调试,在调试过程中,上述调试通道起到数据传输的作用。上面的调试过程对用户来说非常简单,特别是在调试之前无需再去自行搭建调试环境、下载源代码以及配置调试参数,这些工作全都可以交给调试服务器自动完成,从而显著提高了调试效率,避免了配置过程中人为因素导致的错误,降低了对调试人员技术水平的要求。此外,上述方法是一种集中式调试服务,即对所有的目标程序的调试都是通过调试服务器进行调试的,用户只需要访问调试服务器即可使用该服务,不同的调试人员无需部署不同的调试系统,从而有效共享了调试资源,提高了资源的利用率。在一个可能的设计中,获取目标程序的注册信息,包括:接收目标机上的注册程序在目标程序启动时发送的注册请求,并将注册请求中包含的目标机地址、调试服务端口以及源码路径清单作为注册信息保存。调试服务器上保存的目标程序的注册信息可以由目标机上的注册程序在目标程序启动时主动提交至调试服务器进行注册,从而调试服务器可以获知哪些目标程序已经启动并处于可以调试的状态。在一个可能的设计中,方法还包括:接收目标机上的保活程序在目标程序的运行过程中定期发送的表示目标程序仍在运行的保活报文,并在注册信息中保存保活报文的接收时间;定期扫描注册信息,并在判断接收时间距离当前时间超过预设时长时,删除注册信息。一旦目标程序因某些原因异常离线,上述保活机制可以确保调试服务器及时清理掉相应的注册信息,使得注册信息与实际可调试的目标程序一致。在一个可能的设计中,调试指令包括设置断点、单步调试、观察执行结果以及继续执行的中的至少一种指令。上述为目前常见的一些调试指令,这些调试指令在本专利技术实施例提供的调试方法中全部得到支持。第二方面,本专利技术实施例提供一种远程调试方法,应用于目标机,包括:在目标程序启动时,执行注册程序,获得目标机地址、目标程序使用的调试服务端口以及目标程序的源码路径清单;以目标机地址、调试服务端口以及源码路径清单为参数调用调试服务器的接口,在调试服务器上注册目标程序。在一个可能的设计中,在以目标机地址、调试服务端口以及源码路径清单为参数调用调试服务器的接口之后,方法还包括:在目标程序运行过程中,执行保活程序,定期向调试服务器发送表示目标程序仍在运行的保活报文。在一个可能的设计中,调试服务端口以及源码路径清单在构建目标程序时被配置好并随目标程序发布至目标机,注册程序以及保活程序在构建目标程序时被构建好并随目标程序发布至目标机。上述配置参数在目标程序的构建阶段就由开发人员配置好,在后续过程中,用户无需配置这些参数,对用户的技术门槛要求较低。同时,注册程序以及保活程序也由开发人员在目标程序的构建阶段就构建好并随目标程序发布,完成注册及保活只需调度其执行即可。第三方面,本专利技术实施例提供一种调试服务器,包括:注册接口模块,用于获取目标程序的信息注册,注册信息包括目标程序所在的目标机地址、目标程序使用的调试服务端口以及目标程序的源码路径清单;指令接收模块,用于接收到针对目标程序的调试请求指令以及调试指令;源码下载模块,用于在指令接收模块接收到调试请求指令后,根据源码路径清单从源码服务器上下载目标程序的源代码;通道建立模块,用于以目标机地址以及调试服务端口为参数调用调试器,在调试器与目标程序之间建立用于在调试过程中传输数据的调试通道;调试模块,用于在指令接收模块接收到调试指令后,将调试指令发送至调试器执行调试,通过调试器获得调试结果。在一个可能的设计中,调试服务器还包括:注册接口模块具体用于,接收目标机上的注册程序在目标程序启动时发送的注册请求,并将注册请求中包含的目标机地址、调试服务端口以及源码路径清单作为注册信息保存。在一个可能的设计中,调试服务器还包括:保活管理模块,保活管理模块用于接收目标机上的保活程序在目标程序的运行过程中定期发送的表示目标程序仍在运行的保活报文,并在注册信息中保存保活报文的接收时间,以及定期扫描注册信息,并在判断接收时间距离当前时间超过预设时长时,删除注册信息。第四方面,本专利技术实施例提供一种目标机,包括:信息获取模块,用于在目标程序启动时,执行注册程序,获得目标机地址、目标程序使用的调试服务端口以及目标程序的源码路径清单;注册模块,用于以目标机地址、调试服务端口以及源码路径清单为参数调用调试服务器的接口,在调试服务器上注册目标程序。在一个可能的设计中,目标机还包括:保活模块,保活模块用于在目标程序运行过程中,执行保活程序,定期向调试服务器发送表示目标程序仍在运行的保活报文。第五方面,本专利技术实施例提供一种计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被计算机的处理器读取并运行时,执行本专利技术实施例提供的方法的步骤。第六方面,本专利技术实施例提供一种电子设备,包括处理器以及计算机存储介质,计算机存储介质中存储有计算机程序指令,计算机程序指令被处理器读取并运行时,执行本专利技术实施例提供的方法的步骤。为使本专利技术的上述目的、技术方案和有益效果能更明显易懂,下文特举实施例,并配合所附附图,作详细说明如下。附图说明为了更清楚地说明本专利技术实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本专利技术的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。图1示出采用eclipse进行远程调试的流程图;图2示出了本专利技术实施例提供的远程调试方法的系统架构图;图3示出了本专利技术实施例提供的远程调试方法的流程图;图4示出了调试通道建立过程的时序图;图5示出了用户界面、jdb以及调试代理的关系图;图6示出了交互式调试的时序图;图7本文档来自技高网...

【技术保护点】
1.一种远程调试方法,其特征在于,应用于调试服务器,包括:获取目标程序的注册信息,所述注册信息包括所述目标程序所在的目标机地址、所述目标程序使用的调试服务端口以及所述目标程序的源码路径清单;在接收到针对所述目标程序的调试请求指令后,根据所述源码路径清单从源码服务器上下载所述目标程序的源代码;以所述目标机地址以及所述调试服务端口为参数调用调试器,在所述调试器与所述目标程序之间建立用于在调试过程中传输数据的调试通道;在接收到针对所述目标程序的调试指令后,将所述调试指令发送至所述调试器执行调试,通过所述调试器获得调试结果。

【技术特征摘要】
1.一种远程调试方法,其特征在于,应用于调试服务器,包括:获取目标程序的注册信息,所述注册信息包括所述目标程序所在的目标机地址、所述目标程序使用的调试服务端口以及所述目标程序的源码路径清单;在接收到针对所述目标程序的调试请求指令后,根据所述源码路径清单从源码服务器上下载所述目标程序的源代码;以所述目标机地址以及所述调试服务端口为参数调用调试器,在所述调试器与所述目标程序之间建立用于在调试过程中传输数据的调试通道;在接收到针对所述目标程序的调试指令后,将所述调试指令发送至所述调试器执行调试,通过所述调试器获得调试结果。2.根据权利要求1所述的远程调试方法,其特征在于,所述获取目标程序的注册信息,包括:接收所述目标机上的注册程序在所述目标程序启动时发送的注册请求,并将所述注册请求中包含的所述目标机地址、所述调试服务端口以及所述源码路径清单作为所述注册信息保存。3.根据权利要求2所述的远程调试方法,其特征在于,所述方法还包括:接收所述目标机上的保活程序在所述目标程序的运行过程中定期发送的表示所述目标程序仍在运行的保活报文,并在所述注册信息中保存所述保活报文的接收时间;定期扫描所述注册信息,并在判断所述接收时间距离当前时间超过预设时长时,删除所述注册信息。4.根据权利要求1-3中任一项所述的远程调试方法,其特征在于,所述调试指令包括设置断点、单步调试、观察执行结果以及继续执行的中的至少一种指令。5.一种远程调试方法,其特征在于,应用于目标机,包括:在目标程序启动时,执行注册程序,获得目标机地址、目标程序使用的调试服务端口以及所述目标程序的源码路径清单;以所述目标机地址、所述调试服务端口以及所述源码路径清单为参数调用调试服务器的接口,在所述调试服务器上注册所述目标程序。6.根据权利要求5所述的远程调试方法,其特征在于,在所述以所述目标机地址、所述调试服务端口以及所述源码路径清单为参数调用调试服务器的接口之后,所述方法还包括:在所述目标程序运行过程中,执行保活程序,定期向所述调试服务器发送表示所述目标程序仍在运行的保活报文。7.根据权利要求6所述的远程调试方法,其特征在于,所述调试服务端口以及所述源码路径清单在构建所述目...

【专利技术属性】
技术研发人员:权吉欢
申请(专利权)人:迈普通信技术股份有限公司
类型:发明
国别省市:四川,51

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

1