[发明专利]用于程序调试的方法和装置在审
申请号: | 201610822696.5 | 申请日: | 2016-09-13 |
公开(公告)号: | CN107818043A | 公开(公告)日: | 2018-03-20 |
发明(设计)人: | 蔡世霞;孙乐骏;王立军;支孟轩 | 申请(专利权)人: | 东华软件股份公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/38 |
代理公司: | 北京英创嘉友知识产权代理事务所(普通合伙)11447 | 代理人: | 王晓霞,南毅宁 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 程序 调试 方法 装置 | ||
技术领域
本公开涉及计算机领域,具体地,涉及一种用于程序调试的方法和装置。
背景技术
在大规模、复杂的软件开发周期中,为了保障软件系统的可靠性、灵活性和健壮性,软件程序的调试器在其中发挥了不可替代的作用。调试器是能够监测程序执行状态的工具,它能够定位程序中的错误设计,并分析软件的工作原理。
在程序调试中,可以在用户终端之外的其他节点中远程执行调试任务。程序调试技术可能会对调试程序所在的进程产生影响,比如进程阻塞时,如果同一进程中的其他线程上正在执行其他任务时,也会被迫中断。通常会将调试任务运行于非生产环境中的节点上。
发明内容
本公开的目的是提供一种可靠性较高的、用于程序调试的方法和装置。
为了实现上述目的,本公开提供一种用于程序调试的方法,应用于服务器。所述方法包括:分别接收多个用户终端发送的、与所述多个用户终端一一对应的多个调试请求,每个调试请求分别用于请求对对应的用户终端中的程序进行调试;响应于多个调试请求,分别生成与所述多个调试请求一一对应的多个调试线程;分别通过每个调试线程,对对应的用户终端中的程序进行调试。
可选地,任意两个调试线程中的调试器实例不同,任意两个调试线程中的运行环境不同。
可选地,所述分别通过每个调试线程,对对应的用户终端中的程序进行调试的步骤包括:分别通过每个调试线程,对对应的用户终端中的程序进行断点调试。
可选地,所述分别通过每个调试线程,对对应的用户终端中的程序进行断点调试的步骤包括:当调试进入断点状态时,接收用户终端发送的查询请求,所述查询请求用于请求查询变量值;响应于所述查询请求,查询变量的当前值;向所述用户终端发送所述变量的当前值。
可选地,所述方法还包括:在对一用户终端的程序调试完成时,终止对应的调试线程。
本公开还提供一种用于程序调试的装置,应用于服务器。所述装置包括:接收模块,用于分别接收多个用户终端发送的、与所述多个用户终端一一对应的多个调试请求,每个调试请求分别用于请求对对应的用户终端中的程序进行调试;生成模块,用于响应于多个调试请求,分别生成与所述多个调试请求一一对应的多个调试线程;调试模块,用于分别通过每个调试线程,对对应的用户终端中的程序进行调试。
通过上述技术方案,响应于每个用户终端的调试请求,为每个用户终端建立专用的调试线程。这样,当一个用户终端的调试由于一些原因暂停时,其他线程中执行的任务并不会受到影响,因此,调试任务对服务器中的其他任务的干扰性较小,使服务器运行更加稳定。
本公开的其他特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本公开的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本公开,但并不构成对本公开的限制。在附图中:
图1是一示例性实施例提供的用于程序调试的方法的场景图;
图2是一示例性实施例提供的用于程序调试的方法的流程图;
图3是另一示例性实施例提供的用于程序调试的方法的流程图;
图4是一示例性实施例提供的断点调试步骤的流程图;
图5是又一示例性实施例提供的用于程序调试的方法的流程图;
图6是一示例性实施例提供的用于程序调试的装置的框图。
具体实施方式
以下结合附图对本公开的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本公开,并不用于限制本公开。
如上所述,在传统的程序调试中,服务器为每个调试任务分配一个进程,该进程中包含一个调试器的运行实例。当调试程序遇断点挂起时,此进程会被阻塞。这样,在该进程被调试器用户终端唤醒之前,其他所有执行于此进程上的用户操作均被中断。
考虑到以上缺陷,发明人想到,可以在服务器端为每个用户终端建立专用的调试线程,以解决在程序调试过程中调试程序挂起时,影响其他任务的问题。这样,使得服务器运行的可靠性更高。
图1是一示例性实施例提供的用于程序调试的方法的场景图。如图1所示,程序调试可以在一个服务器和多个用户终端1,2,…,N之间进行。
图2是一示例性实施例提供的用于程序调试的方法的流程图。所述方法应用于服务器,如图2所示,所述方法包括以下步骤。
在步骤S11中,分别接收多个用户终端发送的、与所述多个用户终端一一对应的多个调试请求,每个调试请求分别用于请求对对应的用户终端中的程序进行调试。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东华软件股份公司,未经东华软件股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610822696.5/2.html,转载请声明来源钻瓜专利网。