[发明专利]一种Paas云远程调试方法、装置及设备在审
申请号: | 202211289494.0 | 申请日: | 2022-10-20 |
公开(公告)号: | CN115599677A | 公开(公告)日: | 2023-01-13 |
发明(设计)人: | 张程 | 申请(专利权)人: | 中国农业银行股份有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/455 |
代理公司: | 北京集佳知识产权代理有限公司 11227 | 代理人: | 曹伟 |
地址: | 100005 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 paas 远程 调试 方法 装置 设备 | ||
本申请公开了一种Paas云远程调试方法、装置及设备,该方法包括:首先客户端通过调用K8S原生接口访问Paas云端,并获得当前云空间下的所有pod信息,然后,根据用户选择的待调试的目标应用,客户端新建预设个数的websocket请求,并连接到目标应用集群下的pod上的代理程序,接着,根据用户选择的目标应用集群下的pod上的代理程序返回的类和方法,客户端将调试信息通过websocket发送到对应的pod上的代理程序上;进而,代理程序在接收到调试信息后,通过插桩在对应的类和方法前,记录变量值和抛出异常的信息,并在所述目标应用下的pod触发断电后,通过websocket向客户端返回调试结果。从而能够实现Paas云远程调试,并有效提高了调试效果。
技术领域
本申请涉及计算机技术领域,尤其涉及一种Paas云远程调试方法、装置及设备。
背景技术
在现有的测试和生产环境中,有时会出现应用产生问题,系统中现有日志不足以进行问题定位,需要更多的信息,包括变量值(临时变量、成员变量、静态变量)、产生异常的堆栈(一些异常没有被捕获并打印堆栈)等内容来定位问题。这时如果能够像本地开发环境一样(例如Idea、Eclipse的本地断点调试功能),在出现问题的代码处增加断点,将断点处的变量和堆栈打印出来,就可以在不重新部署应用的情况下定位问题。
目前已经存在一些比较完善的方案,可以提供云下程序的断点调试,但是这些方案在云上应用时会存在问题,这是因为云上IP地址是虚拟IP,外部不可直接访问,而现有的测试方案都是通过浏览器访问服务器IP地址的形式建立连接并进行调试的,云上将不再适用。因此,如何实现Paas云远程调试,以提高调试效果是目前亟待解决的问题。
发明内容
本申请实施例的主要目的在于提供一种Paas云远程调试方法、装置及设备,能够基于ASM字节码插桩技术实现Paas云远程调试,并有效提高了调试效果。
第一方面,本申请实施例提供了一种Paas云远程调试方法,包括:
客户端通过调用K8S原生接口访问Paas云端,并获得当前云空间下的所有pod信息;
根据用户选择的待调试的目标应用,所述客户端新建预设个数的websocket请求,并连接到所述目标应用集群下的pod上的代理程序;
根据用户选择的所述目标应用集群下的pod上的代理程序返回的类和方法,所述客户端将调试信息通过所述websocket发送到对应的pod上的代理程序上;
所述代理程序在接收到所述调试信息后,通过插桩在对应的类和方法前,记录变量值和抛出异常的信息,并在所述目标应用下的pod触发断电后,通过所述websocket向所述客户端返回调试结果。
可选的,所述Pod信息包括Pod的IP地址和应用名称。
可选的,所述方法还包括:
将所述代理程序的jar包部署到Paas应用服务器挂载的NAS上,并在应用启动的yaml文件中增加插桩代理内容,以便应用程序启动前先启动所述代理程序,进行ASM插桩,来启动websocket服务,用于接收外部请求。
可选的,所述方法还包括:
所述客户端显示所述目标应用的断点调试信息。
第二方面,本申请实施例还提供了一种Paas云远程调试装置,包括:
调用单元,用于客户端通过调用K8S原生接口访问Paas云端,并获得当前云空间下的所有pod信息;
连接单元,用于根据用户选择的待调试的目标应用,所述客户端新建预设个数的websocket请求,并连接到所述目标应用集群下的pod上的代理程序;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国农业银行股份有限公司,未经中国农业银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202211289494.0/2.html,转载请声明来源钻瓜专利网。