买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】基于socket的远程调试方法_深圳英博达智能科技有限公司_202111318650.7 

申请/专利权人:深圳英博达智能科技有限公司

申请日:2021-11-08

公开(公告)日:2024-03-22

公开(公告)号:CN114338840B

主分类号:H04L69/16

分类号:H04L69/16;H04L67/30;H04L67/01

优先权:

专利状态码:有效-授权

法律状态:2024.03.22#授权;2022.04.29#实质审查的生效;2022.04.12#公开

摘要:本发明公开了一种基于socket的远程调试方法,包括以下步骤:S1:将客户端和服务端一同嵌入待交付软件代码中,加载动态调试库文件中客户端和服务端的代码信息,通过参数文件配置两端socket通信的端口;S2:获取debugServer单态句柄,为了让debugServer在全局范围内保持唯一,以此保证客户端回传过来的动态参数设置能作用到同一个server端。本发明设计合理,通过将客户端和服务端一同嵌入待交付软件代码中,对持续交付的软件进行远程后台调试,可实现一起交付,用户不需要额外部署调试服务器环境,方便人员操作,简化远程持续部署的复杂度,降低调试成本,满足使用需求。

主权项:1.基于socket的远程调试方法,其特征在于,包括以下步骤:S1:将客户端和服务端一同嵌入待交付软件代码中,加载动态调试库文件中客户端和服务端的代码信息,通过参数文件配置两端socket通信的端口;S2:获取debugServer单态句柄,为了让debugServer在全局范围内保持唯一,以此保证客户端回传过来的动态参数设置能作用到同一个server端,debugServer实现了单态模式;S3:进入待测软件过程模块,找出高度易错的程序片段,设置现场打印语句,以达到现场或者远程调试的目的;S4:根据S3中所述的现场打印语句设置动态调试开关选项,紧接着进行debugServer调试调用,将代码现场的环境变量通过S2中所述的debugServer单态句柄发送出去,根据设置,这些调试调用会挂起待测程序使其处在一个类似暂停的状态,从而等待客户端进一步的指示;S5:S4中所述的客户端进行判断是否继续调试,若不继续调试,则结束,若继续调试则循环进入待测软件的其他部分并在合适的地方设下调试语句重复上述过程直到待测程序退出;S6:被待测软件加载后,接受调用方加载初始化库,创建debugServer单态句柄并返回给调用方;S7:debugServer首先从S1中所述的动态调试库文件目录中尝试加载配置文件并初始化各个调试选项;S8:启动Server线程并通过S1中的所述的socket通信的端口循环监听客户端连接,为每一个连入的客户端分配一个代表客户端的句柄并启动一个通信线程用来监听和处理消息;S9:通信线程启动后就进入循环监听通信通道内来自真正调试客户端的消息,解析获取到的消息并分别调用debugServer的相应调试功能;S10:判断客户端是否断开,若断开则回收该通道资源并且把对应客户端句柄移除同时结束信道线程,若未断开,则再次回到S9中继续监听通信通道内来自真正调试客户端的消息;S11:紧接着进行调试客户端,加载动态调试库文件,调试客户端通过使用命令行或者图形界面方式实现,S1中所述的加载动态调试库内部实现了一个简易的命令行客户端,使用者只需要简单几行代码就可以在命令行中使用;S12:新建client类,加载客户端参数文件,使用配置文件中的服务器地址和端口连接待测软件server端;S13:启动客户端信道线程,对连接到server的信道使用独立线程处理通信,在信道内处理服务器丢出的调试信息;S14:等待客户端输入调试指令,发送调试指令到server端,如果配置文件中配置了中断待测软件或者使用调试指令的方式发送中断指令到server端,则server端进入中断等待状态,这时客户端需要发送其他调试指令或者设置或者打印待测软件的动态变量,并且在最后还需要输入本次中断结束指令才会让待测软件继续执行后续程序。

全文数据:

权利要求:

百度查询: 深圳英博达智能科技有限公司 基于socket的远程调试方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。