一种跨进程调试方法和装置制造方法及图纸

技术编号:16233103 阅读:17 留言:0更新日期:2017-09-19 14:41
本申请公开了一种跨进程调试方法,用于提高跨进程调试的准确性,该方法包括:主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。本申请还公开了一种跨进程调试装置。

Cross process debugging method and device

The invention discloses a process of cross debugging method, used to improve the accuracy of cross debugging process, the method comprises: receiving the master process debugging command, the debug commands for application debugging to debug the application running on the application program to the commissioning of the main including the process of creating the child process, the the debug command contains debugging tools; the main process of creating the debugging process, the debugging application process includes the debugging tools and using the debug debugging tools created by the master process sub process operation; the main operation process of the debugging command, and start the the child in the process of debugging containing the application debugging tools created by the operation of the main process of sub process debugging. The invention also discloses a cross process debugging device.

【技术实现步骤摘要】
一种跨进程调试方法和装置
本申请涉及计算机
,尤其涉及一种跨进程调试方法和装置。
技术介绍
在软件开发过程中,为了保证软件后期运行的可靠性,在开发初期通常会使用一些调试工具,通过调试命令对软件程序(以下简称程序)设置断点或是让程序单步执行,以此来跟踪调试程序进而及时排查程序错误。程序运行时,基础服务框架通常会通过多进程方案来运行程序,多进程方案能够同时运行多个进程,如图1所示,不仅运行子进程A,同时运行子进程B,这样如果某一进程出现问题可以对该进程单独进行处理,不会影响其他进程的正常运行,这样不仅提升程序的稳定性,同时提高了系统资源的利用率。多进程运行时,通常由一个主进程创建多个子进程,实现多个子进程并行运行。在对多进程进行调试时,调试工具如果对主进程进行调试,将无法调试该主进程创建的子进程所运行的程序,具体如图2的示例所示。如果对子进程进行调试,即直接调试子进程的运行应用程序,则无法启动主进程所创建辅助子进程,导致程序启动不完整,从而无法完整有效的调试程序,例如单独调试一个子进程运行的应用程序时,具体如图3所示,无法启动上述子进程所必须依赖的辅助子进程,这种启动和应用程序真实的生成环境启动方式不一致,不能保证调试的程序和最终生成环境运行的完全一致。因此,目前的解决方案对跨进程的程序进行调试时,其调试的准确性较低。
技术实现思路
为解决上述技术问题,本申请实施例提供一种跨进程调试方法和装置,用于提高跨进程调试的准确性。本申请实施例采用下述技术方案:一种跨进程调试方法,包括:主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。优选地,所述主进程创建调试子进程具体包括:所述主进程通过调用fork函数创建调试子进程。优选地,所述主进程创建的每一个子进程分别对应一个所述调试子进程。优选地,启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试,包括:若所述主进程创建的调试子进程的个数大于1时,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。优选地,所述主进程运行所述调试命令之前,所述方法还包括:所述主进程创建辅助子进程。一种跨进程调试装置,包括:调试命令接收模块,子进程创建模块和应用程序调试模块,其中:所述调试命令接收模块,用于接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述子进程创建模块,用于创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述应用程序调试模块,用于运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。优选地,所述子进程创建模块,具体用于调用fork函数创建调试子进程。优选地,所述子进程创建模块创建的每一个子进程分别对应一个所述调试子进程。优选地,若所述主进程创建的调试子进程的个数大于1时,所述应用程序调试模块,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。优选地,所述装置还包括辅助子进程创建模块,其中:所述辅助子进程创建模块,用于创建辅助子进程。本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:主进程接收调试命令之后创建调试子进程,调试子进程中包含调试工具和使用调试工具调试的由主进程创建的子进程所运行的应用程序,通过主进程运行所述调试命令并启动调试子进程中包含的调试工具对子进程所运行的应用程序进行调试,这种调试环境和待调试的应用程序真实的运行环境保持一致,相对于现有技术中仅仅通过启动子进程进而对子进程进行调试的方法,提高了跨进程调试的准确性。附图说明此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:图1为现有技术中多进程运行示例图;图2为现有技术中一种调试方法示意图;图3为现有技术中另一种调试方法示意图;图4为本申请实施例1提供的一种跨进程调试方法的实现流程示意图;图5为本申请实施例1提供的跨进程调试方法的运行示例图;图6为本申请实施例2提供的一种跨进程调试装置结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。首先对名词进行说明:进程:进程通常为可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源分配和调度的独立单位,一个进程,包括代码、数据和分配给进程的资源。它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。应用程序:简称程序,程序只通常为一组命令的有序集合。调试:将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。实施例1为解决上述技术问题,本申请实施例1提供了一种跨进程调试方法,用于提高跨进程调试的准确性,所述跨进程调试,可以理解为对主进程进行操作进而能够调试主进程创建的子进程所运行的应用程序。该方法的具体流程示意图如图4所示,包括下述步骤:步骤11:主进程接收调试命令;为了提升业务应用水平的稳定性,在基础服务框架的场景下,通常是由主进程来创建多个子进程,每个子进程分别运行与其对应的应用程序,进而达到多进程运行的目的,这里提到的主进程是相对于其创建的多个子进程而言,相对于子进程,其还可以称为父进程。在此步骤中,主进程首先接收调试命令,调试命令用于调试待调试的应用程序,待调试的应用程序可以包括主进程创建的子进程所运行的应用程序。其中,每个子进程均能够运行与其对应的应用程序,每个子进程之间相互不干扰。另外调试命令中包含调试工具,通过运行调试工具进而能够提供给待调试的应用程序所需的调试环境。步骤12:所述主进程创建调试子进程;在正常运行条件下,主程序能够创建多个子进程,在此调试状态下,主进程在接收到调试命令后,可以根据待调试的应用程序,进而创建与运行该待调试的应用程序的子进程所对应的调试子进程。创建调试子进程时,可以为主进程运行上述调试命令,进而根据调试工具在调试状态下创建与主进程的数据段、代码段和堆栈段相同或者是相关的调试子进程。主进程在具体创建调试子进程时,还可以在调试状态下调用fork本文档来自技高网...
一种跨进程调试方法和装置

【技术保护点】
一种跨进程调试方法,其特征在于,包括:主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。

【技术特征摘要】
1.一种跨进程调试方法,其特征在于,包括:主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。2.根据权利要求1所述的方法,其特征在于,所述主进程创建调试子进程具体包括:所述主进程通过调用fork函数创建调试子进程。3.根据权利要求1或2所述的方法,其特征在于,所述主进程创建的每一个子进程分别对应一个所述调试子进程。4.根据权利要求1所述的方法,其特征在于,启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试,包括:若所述主进程创建的调试子进程的个数大于1时,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。5.根据权利要求1所述的方法,其特征在于,所述主进程运行所述调试命令之前,所述方法还包括:所述主进程创建辅助子进程。6.一种跨进程调...

【专利技术属性】
技术研发人员:田亮
申请(专利权)人:阿里巴巴集团控股有限公司
类型:发明
国别省市:开曼群岛,KY

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

1