一种进程崩溃处理方法及终端设备的制造方法

文档序号:9887489阅读:259来源:国知局
一种进程崩溃处理方法及终端设备的制造方法
【技术领域】
[0001]本发明涉及信息处理技术领域,特别涉及一种进程崩溃处理方法及终端设备。
【背景技术】
[0002]现有的终端设备装载的应用程序中主要是以多进程模式运行的,且在应用程序中还包括崩溃捕获模块(breakpad),主要是多进程的运行进行监测,如果监测到某一进程崩溃,则会收集崩溃进程的信息,从而根据收集的信息进行崩溃问题的分析,但是在实际应用中只有解决了崩溃问题后崩溃进程才能继续正常工作。

【发明内容】

[0003]本发明实施例提供一种进程崩溃处理方法及终端设备,实现了由终端设备中的崩溃捕获模块在进程崩溃时,建立崩溃进程的子进程以访问该崩溃进程的地址空间。
[0004]本发明实施例提供一种进程崩溃处理方法,应用于包括多个进程及崩溃捕获模块的终端设备中,所述方法包括:
[0005]当监测到所述多个进程中第一进程崩溃,所述崩溃捕获模块创建所述第二进程使得所述第二进程能访问所述第一进程的地址空间,所述第一进程为所述第二进程的父进程;
[0006]所述第二进程访问所述第一进程的地址空间,从所述地址空间获取所述第一进程实现各种功能的信息;
[0007]所述第二进程根据所述第一进程实现各种功能的信息执行相应的功能。
[0008]本发明实施例还提供一种终端设备,包括多个进程及崩溃捕获模块,其中:
[0009]所述崩溃捕获模块,用于当监测到所述多个进程中第一进程崩溃,创建所述第二进程使得所述第二进程能访问所述第一进程的地址空间,所述第一进程为所述第二进程的父进程;
[0010]所述终端设备还包括第二进程,所述第二进程,用于访问所述第一进程的地址空间,从所述地址空间获取所述第一进程实现各种功能的信息,根据所述第一进程实现各种功能的信息执行相应的功能。
[0011]可见,在本实施例的方法中,终端设备中的崩溃捕获模块可以在第一进程崩溃时,创建能访问第一进程的地址空间的第二进程,这样第二进程就可以从第一进程的地址空间中获取第一进程实现各种功能的信息,从而实现与第一进程相同的功能。这样崩溃捕获模块在对第一进程进行崩溃问题的分析时,第二进程就能执行与第一进程相同的功能,如果第一进程正在执行的功能具有实时性,则采用本发明实施例的方法,当第一进程崩溃时,就可以不会影响当前正在执行的功能,而由第二进程执行。
【附图说明】
[0012]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0013]图1是本发明实施例提供的一种进程崩溃处理方法的流程图;
[0014]图2是本发明实施例中终端设备显示的浏览器的示意图;
[0015]图3是本发明实施例提供的一种终端设备的结构示意图;
[0016]图4是本发明实施例提供的另一种终端设备的结构示意图。
【具体实施方式】
[0017]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0018]本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0019]本发明实施例提供一种进程崩溃处理方法,主要应用于包括多个进程及崩溃捕获模块的终端设备中,本实施例的方法流程图如图1所示,包括:
[0020]步骤101,当监测到多个进程中第一进程崩溃,崩溃捕获模块创建第二进程使得第二进程能访问第一进程的地址空间,第一进程为第二进程的父进程。
[0021]可以理解,崩溃捕获模块可以监测各个进程的运行,当监测到某一进程(比如第一进程)崩溃时,该崩溃捕获模块可以调用系统复制函数即syS_Cl0ne()以创建第二进程,该系统复制函数包括第一参数和第二参数,第一参数用于创建第二进程的第一功能,第一功能为获取第一进程的运行信息的功能,第二参数用于创建第二进程的第二功能,第二功能为访问第一进程的地址空间的功能。
[0022]这里第一参数和第二参数并不代表顺序关系,而是表示系统复制函数中包括的两个函数,崩溃捕获模块可以将第二参数中包括clone_vm选项,具体是在函数sys_clone()的第三个参数(这里的第三就表示顺序关系,即位于第三位的参数)中增加clone_Vm选项,这样创建的第二进程就可以访问第一进程的地址空间。
[0023]步骤102,第二进程访问第一进程的地址空间,从地址空间获取第一进程实现各种功能的信息,在第一进程的地址空间中储存着第一进程正常运行,且实现各种功能的函数,则第二进程可以从地址空间中获取的第一进程实现各种功能的信息可以包括第一进程实现各种功能的函数。其中第一进程实现各种功能的信息可以包括第一进程与其它进程进行通?目的?目息等。
[0024]步骤103,第二进程根据步骤102中获取的第一进程实现各种功能的信息执行相应的功能,则第二进程可以实现与第一进程相同的功能。
[0025]可见,在本实施例的方法中,终端设备中的崩溃捕获模块可以在第一进程崩溃时,创建能访问第一进程的地址空间的第二进程,这样第二进程就可以从第一进程的地址空间中获取第一进程实现各种功能的信息,从而实现与第一进程相同的功能。这样崩溃捕获模块在对第一进程进行崩溃问题的分析时,第二进程就能执行与第一进程相同的功能,如果第一进程正在执行的功能具有实时性,则采用本发明实施例的方法,当第一进程崩溃时,就可以不会影响当前正在执行的功能,而由第二进程执行。
[0026]在一个具体的实施例中,终端设备包括的多个进程中包括主进程和至少一个渲染进程,比如手机装载的浏览器的应用程序中,主进程是浏览器中的主控进程,用户设备显示的浏览器的外框及外框上的工具栏都是由主进程控制的;而渲染进程主要是渲染各个标签对应的页面,用户设备显示的浏览器的外框内一个标签对应的页面是由一个渲染进程控制的。例如图2所示的浏览器的示意图,浏览器的主进程控制浏览器的外框上搜索或输入网址的框,及“收藏”、“工具”和“帮助”的工具栏;而在浏览器的外框内的标签I到3对应的页面分别由一个渲染进程控制,其中,用户设备当前正显示标签2对应的页面,则控制标签2对应的页面的渲染进程在前台运行,而控制标签I和3对应的页面的渲染进程在后台运行。
[0027]当某一标签对应的渲染进程崩溃时,即上述第一进程为渲染进程,则第二进程在执行上述步骤102时,第二进程从该渲染进程的地址空间获取渲染进程与主进程之间的通信方式;且第二进程还可以获取渲染进程的运行信息,并在执行上述步骤103时,第二进程按照获取的通信方式将渲染进程的运行信息发送给主进程,以使得主进程将渲染进程的运行信息写入到终端设备的永久性存储器中。
[0028]本发明实施例还提供一种终端设备,比如手机等,其结构示意图如图3所示,具体可以包括多个进程及崩溃捕获模块11,其中:
[0029]所述崩溃捕获模块11,用于当监测到所述多个进程中第一进程10崩溃,创建所述第二进程12使得所述第二进程12能访问所述第一进程10的地址空间,所述第一进程10为所述第二进程12的父进程。
[0030]所述崩溃捕获模块11,具体用于
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1