CN107179982A - 一种跨进程调试方法和装置 - Google Patents

一种跨进程调试方法和装置 Download PDF

Info

Publication number
CN107179982A
CN107179982A CN201610133266.2A CN201610133266A CN107179982A CN 107179982 A CN107179982 A CN 107179982A CN 201610133266 A CN201610133266 A CN 201610133266A CN 107179982 A CN107179982 A CN 107179982A
Authority
CN
China
Prior art keywords
subprocess
debugging
host process
application program
created
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610133266.2A
Other languages
English (en)
Other versions
CN107179982B (zh
Inventor
田亮
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Advanced New Technologies Co Ltd
Advantageous New Technologies Co Ltd
Original Assignee
Alibaba Group Holding Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Alibaba Group Holding Ltd filed Critical Alibaba Group Holding Ltd
Priority to CN201610133266.2A priority Critical patent/CN107179982B/zh
Publication of CN107179982A publication Critical patent/CN107179982A/zh
Application granted granted Critical
Publication of CN107179982B publication Critical patent/CN107179982B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3644Software debugging by instrumenting at runtime

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请公开了一种跨进程调试方法,用于提高跨进程调试的准确性,该方法包括:主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。本申请还公开了一种跨进程调试装置。

Description

一种跨进程调试方法和装置
技术领域
本申请涉及计算机技术领域,尤其涉及一种跨进程调试方法和装置。
背景技术
在软件开发过程中,为了保证软件后期运行的可靠性,在开发初期通常会使用一些调试工具,通过调试命令对软件程序(以下简称程序)设置断点或是让程序单步执行,以此来跟踪调试程序进而及时排查程序错误。
程序运行时,基础服务框架通常会通过多进程方案来运行程序,多进程方案能够同时运行多个进程,如图1所示,不仅运行子进程A,同时运行子进程B,这样如果某一进程出现问题可以对该进程单独进行处理,不会影响其他进程的正常运行,这样不仅提升程序的稳定性,同时提高了系统资源的利用率。多进程运行时,通常由一个主进程创建多个子进程,实现多个子进程并行运行。
在对多进程进行调试时,调试工具如果对主进程进行调试,将无法调试该主进程创建的子进程所运行的程序,具体如图2的示例所示。如果对子进程进行调试,即直接调试子进程的运行应用程序,则无法启动主进程所创建辅助子进程,导致程序启动不完整,从而无法完整有效的调试程序,例如单独调试一个子进程运行的应用程序时,具体如图3所示,无法启动上述子进程所必须依赖的辅助子进程,这种启动和应用程序真实的生成环境启动方式不一致,不能保证调试的程序和最终生成环境运行的完全一致。因此,目前的解决方案对跨进程的程序进行调试时,其调试的准确性较低。
发明内容
为解决上述技术问题,本申请实施例提供一种跨进程调试方法和装置,用于提高跨进程调试的准确性。
本申请实施例采用下述技术方案:
一种跨进程调试方法,包括:主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
优选地,所述主进程创建调试子进程具体包括:所述主进程通过调用fork函数创建调试子进程。
优选地,所述主进程创建的每一个子进程分别对应一个所述调试子进程。
优选地,启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试,包括:若所述主进程创建的调试子进程的个数大于1时,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
优选地,所述主进程运行所述调试命令之前,所述方法还包括:所述主进程创建辅助子进程。
一种跨进程调试装置,包括:调试命令接收模块,子进程创建模块和应用程序调试模块,其中:所述调试命令接收模块,用于接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;所述子进程创建模块,用于创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;所述应用程序调试模块,用于运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
优选地,所述子进程创建模块,具体用于调用fork函数创建调试子进程。
优选地,所述子进程创建模块创建的每一个子进程分别对应一个所述调试子进程。
优选地,若所述主进程创建的调试子进程的个数大于1时,所述应用程序调试模块,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
优选地,所述装置还包括辅助子进程创建模块,其中:所述辅助子进程创建模块,用于创建辅助子进程。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:主进程接收调试命令之后创建调试子进程,调试子进程中包含调试工具和使用调试工具调试的由主进程创建的子进程所运行的应用程序,通过主进程运行所述调试命令并启动调试子进程中包含的调试工具对子进程所运行的应用程序进行调试,这种调试环境和待调试的应用程序真实的运行环境保持一致,相对于现有技术中仅仅通过启动子进程进而对子进程进行调试的方法,提高了跨进程调试的准确性。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1为现有技术中多进程运行示例图;
图2为现有技术中一种调试方法示意图;
图3为现有技术中另一种调试方法示意图;
图4为本申请实施例1提供的一种跨进程调试方法的实现流程示意图;
图5为本申请实施例1提供的跨进程调试方法的运行示例图;
图6为本申请实施例2提供的一种跨进程调试装置结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合本申请具体实施例及相应的附图对本申请技术方案进行清楚、完整地描述。显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
首先对名词进行说明:
进程:进程通常为可以并发执行的程序在某个数据集合上的运行过程,是系统进行资源分配和调度的独立单位,一个进程,包括代码、数据和分配给进程的资源。它有自己的生命周期。它因创建而产生,因调度而运行,因等待资源或事件而被处于等待状态,因完成任务而被撤消。反映了一个程序在一定的数据集上运行的全部动态过程。
应用程序:简称程序,程序只通常为一组命令的有序集合。
调试:将编制的程序投入实际运行前,用手工或编译程序等方法进行测试,修正语法错误和逻辑错误的过程。
实施例1
为解决上述技术问题,本申请实施例1提供了一种跨进程调试方法,用于提高跨进程调试的准确性,所述跨进程调试,可以理解为对主进程进行操作进而能够调试主进程创建的子进程所运行的应用程序。该方法的具体流程示意图如图4所示,包括下述步骤:
步骤11:主进程接收调试命令;
为了提升业务应用水平的稳定性,在基础服务框架的场景下,通常是由主进程来创建多个子进程,每个子进程分别运行与其对应的应用程序,进而达到多进程运行的目的,这里提到的主进程是相对于其创建的多个子进程而言,相对于子进程,其还可以称为父进程。在此步骤中,主进程首先接收调试命令,调试命令用于调试待调试的应用程序,待调试的应用程序可以包括主进程创建的子进程所运行的应用程序。其中,每个子进程均能够运行与其对应的应用程序,每个子进程之间相互不干扰。另外调试命令中包含调试工具,通过运行调试工具进而能够提供给待调试的应用程序所需的调试环境。
步骤12:所述主进程创建调试子进程;
在正常运行条件下,主程序能够创建多个子进程,在此调试状态下,主进程在接收到调试命令后,可以根据待调试的应用程序,进而创建与运行该待调试的应用程序的子进程所对应的调试子进程。创建调试子进程时,可以为主进程运行上述调试命令,进而根据调试工具在调试状态下创建与主进程的数据段、代码段和堆栈段相同或者是相关的调试子进程。主进程在具体创建调试子进程时,还可以在调试状态下调用fork函数创建调试子进程,当然还可以为其它的创建方式。另外,主进程创建的调试子进程的数量可以为一个,即每次单独对一个调试子进程对应的应用程序进行单独调试,当然还可以一次创建多个调试子进程。
上述创建的调试子进程中包含调试工具,同时包含使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序,这里的调试工具可以为主进程接收到的调试命令中包含的调试工具。
步骤13:所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具。
主进程在创建调试子进程时,可以将上述调试命令添加到创建的调试子进程中,其中调试命令中包括有调试工具。这样,主进程运行所述调试命令,并启动所述调试子进程中包含的调试工具,并根据调试命令对由所述主进程创建的子进程所运行的应用程序进行调试。
需要说明的是,在实施例1的执行过程中,辅助子进程也在运行,该实施例的应用场景可以如图5所示,这里的辅助子进程为运行应用程序的子进程所依赖的进程,例如辅助子进程提供不同子进程之间进行通信的接口,进而能够使不同的子进程之间通过上述接口进而实现通信。另外,图5所示的主进程运行的程序和辅助子进程运行的程序通常不需要调试。
采用实施例1提供的该方法,主进程接收调试命令之后创建调试子进程,调试子进程中包含调试工具和使用调试工具调试的由主进程创建的子进程所运行的应用程序,通过主进程运行所述调试命令并启动调试子进程中包含的调试工具对子进程所运行的应用程序进行调试,这种调试环境和待调试的应用程序真实的运行环境保持一致,相对于现有技术中仅仅通过启动子进程进而对子进程进行调试的方法,提高了跨进程调试的准确性。。
需要说明的是,实施例1所提供方法的各步骤的执行主体均可以是同一模块,如主程序模块,其能够对跨进程的应用程序进行调试;或者,该方法的各步骤也可以由不同的模块作为执行主体。比如,步骤11和步骤12的执行主体可以为主进程模块,步骤13的执行主体可以为调试子进程模块等。
在实施例1的步骤12中主进程创建调试子进程,具体可以按如下步骤:所述主进程通过调用fork函数创建调试子进程。主进程通过调用fork函数创建调试子进程时,还可以将调试主进程的调试工具同样fork到调试子进程中,这样同时存在主进程、调试子进程和辅助子进程,进而使调试环境和待调试的应用程序真实的运行环境保持一致。
fork函数通常广泛应用于基础服务框架扩展的场景中,如在实施例1的应用场景中,通常主进程通常只负责通过fork函数生成子进程,派出子进程去执行框架下的子任务,这些任务可能多变、可能更新频繁,但通过使用fork函数,还可以使用exec函数,进而使创建的调试子进程能够对主进程创建的子进程所运行的应用程序进行调试,即保证了主进程的稳定,避免频繁更新程序。具体而言,fork函数创建的子进程几乎是父进程的副本,如果让子进程去执行除主进程对应的程序之外的应用程序,exec函数族可以根据指定的文件名或目录名找到可执行文件,并用它来取代原创建的子进程中的数据段、代码段和堆栈段,在执行完之后,创建的子进程除了进程号外,其他全部被新应用程序的内容替换。
在实施例1的步骤12中,主进程创建调试子进程时,其中所述主进程创建的每一个子进程分别对应一个所述调试子进程。
对于主进程创建的每一个子进程,此处的子进程是相对于正常工作条件即非调试状态下而言的,在正常工作时,主程序能够创建多个子进程进而实现多进程运行,对于每个子进程而言,均有唯一与其对应的能够运行的应用程序。在具体调试时,相对于每一个子进程,也即每一个待调试的应用程序,主进程均可以创建一个唯一的与其对应的调试子进程。
在实施例1的步骤13中,启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试,在具体实施时还存在以下两种情况:
若主进程创建的除辅助子进程之外只有一个调试子进程,那么调试子进程即可单独运行对与其对应的应用程序进行调试。
若所述主进程创建的调试子进程的个数大于1时,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。即每个调试子进程对与其一一对应的应用程序进行调试,各个调试子进程之间的调试过程互相不受干扰。
在实施例1的步骤13之前,所述方法还可以包括以下步骤:所述主进程创建辅助子进程。如前所述,在实施例1的各个步骤执行之前,辅助子进程可能已经在运行,此时按照实施例1的步骤执行,则可以保证所调试的应用程序的生成环境和正常工作时的运行环境一致。
如果在实施例1的各个步骤执行之前,辅助子进程没有运行,则在实施例1的步骤11之后步骤13之前执行以下步骤:主进程创建辅助子进程。这样既可使如图5所示的整个系统启动完整,能够使调试子进程的启动和真实的生成环境中子进程的启动方式一致,最终保证调试的应用程序和最终生成环境运行的一致。
实施例2
基于相同的发明构思,实施例2提供了一种跨进程调试装置,用于提高跨进程调试的准确性。如图6所示,该装置包括:调试命令接收模块21,子进程创建模块22和应用程序调试模块23,其中:
所述调试命令接收模块21,可以用于接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;
所述子进程创建模块22,可以用于创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;
所述应用程序调试模块23,可以用于运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
采用实施例2提供的该装置,由于调试命令接收模块21接收调试命令之后,子进程创建模块22创建调试子进程,调试子进程中包含调试工具和使用调试工具调试的由主进程创建的子进程所运行的应用程序,应用程序调试模块23运行调试命令,并启动调试子进程中包含的调试工具对子进程所运行的应用程序进行调试,这种调试环境和待调试的应用程序真实的运行环境保持一致,相对于现有技术中仅仅通过启动子进程进而对子进程进行调试的方法,提高跨进程调试的准确性。
实施例2中的子进程创建模块22在创建调试子进程时,具体可以通过调用fork函数创建调试子进程。
另外,子进程创建模块22创建的每一个子进程可以分别对应一个所述调试子进程。
若所述主进程创建的调试子进程的个数大于1时,上述应用程序调试模块23,可以用于并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
实施例2提供的装置还可以包括辅助子进程创建模块,其中:所述辅助子进程创建模块,用于创建辅助子进程。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序命令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序命令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的命令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序命令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的命令产生包括命令装置的制造品,该命令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序命令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的命令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读命令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。

Claims (10)

1.一种跨进程调试方法,其特征在于,包括:
主进程接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;
所述主进程创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;
所述主进程运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
2.根据权利要求1所述的方法,其特征在于,所述主进程创建调试子进程具体包括:
所述主进程通过调用fork函数创建调试子进程。
3.根据权利要求1或2所述的方法,其特征在于,所述主进程创建的每一个子进程分别对应一个所述调试子进程。
4.根据权利要求1所述的方法,其特征在于,启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试,包括:
若所述主进程创建的调试子进程的个数大于1时,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
5.根据权利要求1所述的方法,其特征在于,所述主进程运行所述调试命令之前,所述方法还包括:
所述主进程创建辅助子进程。
6.一种跨进程调试装置,其特征在于,包括:调试命令接收模块,子进程创建模块和应用程序调试模块,其中:
所述调试命令接收模块,用于接收调试命令,所述调试命令用于调试待调试的应用程序,所述待调试的应用程序包括所述主进程创建的子进程所运行的应用程序,所述调试命令中包含调试工具;
所述子进程创建模块,用于创建调试子进程,所述调试子进程中包含所述调试工具和使用所述调试工具调试的由所述主进程创建的子进程所运行的应用程序;
所述应用程序调试模块,用于运行所述调试命令,并启动所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
7.根据权利要求6所述的装置,其特征在于,所述子进程创建模块,具体用于调用fork函数创建调试子进程。
8.根据权利要求6或7所述的装置,其特征在于,所述子进程创建模块创建的每一个子进程分别对应一个所述调试子进程。
9.根据权利要求6所述的装置,其特征在于,若所述主进程创建的调试子进程的个数大于1时,
所述应用程序调试模块,并行启动不同的所述调试子进程,以使得各个所述调试子进程中包含的所述调试工具对由所述主进程创建的子进程所运行的应用程序进行调试。
10.根据权利要求6所述的装置,其特征在于,所述装置还包括辅助子进程创建模块,其中:
所述辅助子进程创建模块,用于创建辅助子进程。
CN201610133266.2A 2016-03-09 2016-03-09 一种跨进程调试方法和装置 Active CN107179982B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610133266.2A CN107179982B (zh) 2016-03-09 2016-03-09 一种跨进程调试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610133266.2A CN107179982B (zh) 2016-03-09 2016-03-09 一种跨进程调试方法和装置

Publications (2)

Publication Number Publication Date
CN107179982A true CN107179982A (zh) 2017-09-19
CN107179982B CN107179982B (zh) 2021-05-04

Family

ID=59830657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610133266.2A Active CN107179982B (zh) 2016-03-09 2016-03-09 一种跨进程调试方法和装置

Country Status (1)

Country Link
CN (1) CN107179982B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153586A (zh) * 2017-12-25 2018-06-12 北京百度网讯科技有限公司 程序管理方法、装置与系统、计算机设备及可读介质
CN111736996A (zh) * 2020-06-17 2020-10-02 上海交通大学 一种面向分布式非易失内存系统的进程持久化方法及装置
US20210089419A1 (en) * 2019-09-25 2021-03-25 Alibaba Group Holding Limited Debugging unit and processor
CN113535446A (zh) * 2021-06-29 2021-10-22 中国人民解放军战略支援部队信息工程大学 用于线路接入时业务数据保护的进程双向守护方法及系统
CN115129469A (zh) * 2022-06-23 2022-09-30 北京新唐思创教育科技有限公司 跨进程通信方法、装置、设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685420A (zh) * 2008-09-24 2010-03-31 中兴通讯股份有限公司 多线程调试方法和装置
CN102023920A (zh) * 2010-10-27 2011-04-20 西安交通大学 一种远程并行程序调试系统中基于树形的消息聚集方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101685420A (zh) * 2008-09-24 2010-03-31 中兴通讯股份有限公司 多线程调试方法和装置
CN102023920A (zh) * 2010-10-27 2011-04-20 西安交通大学 一种远程并行程序调试系统中基于树形的消息聚集方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
HELMSGAO: "进程间的通信(一)pipe通道", 《CSDN》 *
MASKRAY: "调试技巧2", 《HTTP://MASKRAY.ME/BLOG/2015-03-14-DEBUG-HACKS-2》 *
零点-一条路走到底: "GDB调试fork+exec创建的子进程的方法", 《HTTPS://BLOG.CSDN.NET/U013013553/ARTICLE/DETAILS/40395899》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108153586A (zh) * 2017-12-25 2018-06-12 北京百度网讯科技有限公司 程序管理方法、装置与系统、计算机设备及可读介质
US20210089419A1 (en) * 2019-09-25 2021-03-25 Alibaba Group Holding Limited Debugging unit and processor
US11755441B2 (en) * 2019-09-25 2023-09-12 Alibaba Group Holding Limited Debugging unit and processor
CN111736996A (zh) * 2020-06-17 2020-10-02 上海交通大学 一种面向分布式非易失内存系统的进程持久化方法及装置
CN113535446A (zh) * 2021-06-29 2021-10-22 中国人民解放军战略支援部队信息工程大学 用于线路接入时业务数据保护的进程双向守护方法及系统
CN115129469A (zh) * 2022-06-23 2022-09-30 北京新唐思创教育科技有限公司 跨进程通信方法、装置、设备及存储介质

Also Published As

Publication number Publication date
CN107179982B (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN107179982A (zh) 一种跨进程调试方法和装置
US8843945B2 (en) Automated application programming interface (API) generation
CN109740765A (zh) 一种基于亚马逊网络服务器的机器学习系统搭建方法
CN106873960A (zh) 一种应用软件的更新方法和设备
CN105183459B (zh) 一种数据修改方法及装置
Evrard et al. Automatic distributed code generation from formal models of asynchronous concurrent processes
Charlton et al. Formal reasoning about runtime code update
CN111427548B (zh) 一种基于进程的插件式开发方法和系统
CN106843822B (zh) 一种执行代码生成方法及设备
CN105867886A (zh) 一种写表格的方法及装置
CN111427582A (zh) Rtl代码的管理方法、装置、设备及计算机可读存储介质
Terzić et al. A model-driven approach to microservice software architecture establishment
CN108614697A (zh) 后台Dex编译管控的方法及装置
CN109947645A (zh) 自动化配置工具方法及系统
CN110471828A (zh) 一种操作系统测试方法、装置及其设备
CN114327673A (zh) 一种任务启动方法、装置、电子设备及存储介质
CN113708971A (zh) 一种Openstack云平台的部署方法及相关装置
CN112052035A (zh) 基于银行后线系统的版本组包方法及装置
CN111880803A (zh) 一种应用于多平台的软件构建方法及装置
US10061604B2 (en) Program execution recording and playback
CN113934446B (zh) 一种基于容器云平台的微服务配置系统及方法
CN106649087B (zh) 代码调试方法和装置
CN112416362B (zh) 一种pdk编译功能的实现方法
CN113326048B (zh) 浮点数计算精度处理方法、系统、介质及设备
CN105022653A (zh) 一种关于模板库编程约定的检查方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Innovative advanced technology Co.,Ltd.

Address before: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant before: Advanced innovation technology Co.,Ltd.

Effective date of registration: 20200924

Address after: Cayman Enterprise Centre, 27 Hospital Road, George Town, Grand Cayman, British Islands

Applicant after: Advanced innovation technology Co.,Ltd.

Address before: A four-storey 847 mailbox in Grand Cayman Capital Building, British Cayman Islands

Applicant before: Alibaba Group Holding Ltd.

GR01 Patent grant
GR01 Patent grant