CN105653386A - 一种进程崩溃处理方法及终端设备 - Google Patents

一种进程崩溃处理方法及终端设备 Download PDF

Info

Publication number
CN105653386A
CN105653386A CN201511030396.5A CN201511030396A CN105653386A CN 105653386 A CN105653386 A CN 105653386A CN 201511030396 A CN201511030396 A CN 201511030396A CN 105653386 A CN105653386 A CN 105653386A
Authority
CN
China
Prior art keywords
function
address space
information
collapse
terminal unit
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
CN201511030396.5A
Other languages
English (en)
Other versions
CN105653386B (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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN201511030396.5A priority Critical patent/CN105653386B/zh
Publication of CN105653386A publication Critical patent/CN105653386A/zh
Application granted granted Critical
Publication of CN105653386B publication Critical patent/CN105653386B/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明实施例公开了进程崩溃处理方法及终端设备,应用于信息处理技术领域。在本实施例的方法中,终端设备中的崩溃捕获模块可以在第一进程崩溃时,创建能访问第一进程的地址空间的第二进程,这样第二进程就可以从第一进程的地址空间中获取第一进程实现各种功能的信息,从而实现与第一进程相同的功能。这样崩溃捕获模块在对第一进程进行崩溃问题的分析时,第二进程就能执行与第一进程相同的功能,如果第一进程正在执行的功能具有实时性,则采用本发明实施例的方法,当第一进程崩溃时,就可以不会影响当前正在执行的功能,而由第二进程执行。

Description

一种进程崩溃处理方法及终端设备
技术领域
本发明涉及信息处理技术领域,特别涉及一种进程崩溃处理方法及终端设备。
背景技术
现有的终端设备装载的应用程序中主要是以多进程模式运行的,且在应用程序中还包括崩溃捕获模块(breakpad),主要是多进程的运行进行监测,如果监测到某一进程崩溃,则会收集崩溃进程的信息,从而根据收集的信息进行崩溃问题的分析,但是在实际应用中只有解决了崩溃问题后崩溃进程才能继续正常工作。
发明内容
本发明实施例提供一种进程崩溃处理方法及终端设备,实现了由终端设备中的崩溃捕获模块在进程崩溃时,建立崩溃进程的子进程以访问该崩溃进程的地址空间。
本发明实施例提供一种进程崩溃处理方法,应用于包括多个进程及崩溃捕获模块的终端设备中,所述方法包括:
当监测到所述多个进程中第一进程崩溃,所述崩溃捕获模块创建所述第二进程使得所述第二进程能访问所述第一进程的地址空间,所述第一进程为所述第二进程的父进程;
所述第二进程访问所述第一进程的地址空间,从所述地址空间获取所述第一进程实现各种功能的信息;
所述第二进程根据所述第一进程实现各种功能的信息执行相应的功能。
本发明实施例还提供一种终端设备,包括多个进程及崩溃捕获模块,其中:
所述崩溃捕获模块,用于当监测到所述多个进程中第一进程崩溃,创建所述第二进程使得所述第二进程能访问所述第一进程的地址空间,所述第一进程为所述第二进程的父进程;
所述终端设备还包括第二进程,所述第二进程,用于访问所述第一进程的地址空间,从所述地址空间获取所述第一进程实现各种功能的信息,根据所述第一进程实现各种功能的信息执行相应的功能。
可见,在本实施例的方法中,终端设备中的崩溃捕获模块可以在第一进程崩溃时,创建能访问第一进程的地址空间的第二进程,这样第二进程就可以从第一进程的地址空间中获取第一进程实现各种功能的信息,从而实现与第一进程相同的功能。这样崩溃捕获模块在对第一进程进行崩溃问题的分析时,第二进程就能执行与第一进程相同的功能,如果第一进程正在执行的功能具有实时性,则采用本发明实施例的方法,当第一进程崩溃时,就可以不会影响当前正在执行的功能,而由第二进程执行。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种进程崩溃处理方法的流程图;
图2是本发明实施例中终端设备显示的浏览器的示意图;
图3是本发明实施例提供的一种终端设备的结构示意图;
图4是本发明实施例提供的另一种终端设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种进程崩溃处理方法,主要应用于包括多个进程及崩溃捕获模块的终端设备中,本实施例的方法流程图如图1所示,包括:
步骤101,当监测到多个进程中第一进程崩溃,崩溃捕获模块创建第二进程使得第二进程能访问第一进程的地址空间,第一进程为第二进程的父进程。
可以理解,崩溃捕获模块可以监测各个进程的运行,当监测到某一进程(比如第一进程)崩溃时,该崩溃捕获模块可以调用系统复制函数即sys_clone()以创建第二进程,该系统复制函数包括第一参数和第二参数,第一参数用于创建第二进程的第一功能,第一功能为获取第一进程的运行信息的功能,第二参数用于创建第二进程的第二功能,第二功能为访问第一进程的地址空间的功能。
这里第一参数和第二参数并不代表顺序关系,而是表示系统复制函数中包括的两个函数,崩溃捕获模块可以将第二参数中包括clone_vm选项,具体是在函数sys_clone()的第三个参数(这里的第三就表示顺序关系,即位于第三位的参数)中增加clone_vm选项,这样创建的第二进程就可以访问第一进程的地址空间。
步骤102,第二进程访问第一进程的地址空间,从地址空间获取第一进程实现各种功能的信息,在第一进程的地址空间中储存着第一进程正常运行,且实现各种功能的函数,则第二进程可以从地址空间中获取的第一进程实现各种功能的信息可以包括第一进程实现各种功能的函数。其中第一进程实现各种功能的信息可以包括第一进程与其它进程进行通信的信息等。
步骤103,第二进程根据步骤102中获取的第一进程实现各种功能的信息执行相应的功能,则第二进程可以实现与第一进程相同的功能。
可见,在本实施例的方法中,终端设备中的崩溃捕获模块可以在第一进程崩溃时,创建能访问第一进程的地址空间的第二进程,这样第二进程就可以从第一进程的地址空间中获取第一进程实现各种功能的信息,从而实现与第一进程相同的功能。这样崩溃捕获模块在对第一进程进行崩溃问题的分析时,第二进程就能执行与第一进程相同的功能,如果第一进程正在执行的功能具有实时性,则采用本发明实施例的方法,当第一进程崩溃时,就可以不会影响当前正在执行的功能,而由第二进程执行。
在一个具体的实施例中,终端设备包括的多个进程中包括主进程和至少一个渲染进程,比如手机装载的浏览器的应用程序中,主进程是浏览器中的主控进程,用户设备显示的浏览器的外框及外框上的工具栏都是由主进程控制的;而渲染进程主要是渲染各个标签对应的页面,用户设备显示的浏览器的外框内一个标签对应的页面是由一个渲染进程控制的。例如图2所示的浏览器的示意图,浏览器的主进程控制浏览器的外框上搜索或输入网址的框,及“收藏”、“工具”和“帮助”的工具栏;而在浏览器的外框内的标签1到3对应的页面分别由一个渲染进程控制,其中,用户设备当前正显示标签2对应的页面,则控制标签2对应的页面的渲染进程在前台运行,而控制标签1和3对应的页面的渲染进程在后台运行。
当某一标签对应的渲染进程崩溃时,即上述第一进程为渲染进程,则第二进程在执行上述步骤102时,第二进程从该渲染进程的地址空间获取渲染进程与主进程之间的通信方式;且第二进程还可以获取渲染进程的运行信息,并在执行上述步骤103时,第二进程按照获取的通信方式将渲染进程的运行信息发送给主进程,以使得主进程将渲染进程的运行信息写入到终端设备的永久性存储器中。
本发明实施例还提供一种终端设备,比如手机等,其结构示意图如图3所示,具体可以包括多个进程及崩溃捕获模块11,其中:
所述崩溃捕获模块11,用于当监测到所述多个进程中第一进程10崩溃,创建所述第二进程12使得所述第二进程12能访问所述第一进程10的地址空间,所述第一进程10为所述第二进程12的父进程。
所述崩溃捕获模块11,具体用于调用系统复制sys_clone函数创建所述第二进程,所述系统复制函数包括第一参数和第二参数,所述第一参数用于创建所述第二进程的第一功能,所述第一功能为获取所述第一进程的运行信息的功能,所述第二参数用于创建所述第二进程的第二功能,所述第二功能为访问所述第一进程的地址空间的功能。具体地,可以将第二参数中包括clone_vm选项。
所述终端设备还包括第二进程12,用于访问所述第一进程10的地址空间,从所述地址空间获取所述第一进程10实现各种功能的信息,根据所述第一进程10实现各种功能的信息执行相应的功能。其中,所述第一进程10实现各种功能的信息包括所述第一进程10与其它进程进行通信的信息等。
在一个具体的实施例中,终端设备的多个进程中包括主进程13和至少一个渲染进程10(图3中以一个渲染进程为例说明),所述第一进程10为渲染进程,则所述第二进程12,具体用于从所述渲染进程10的地址空间获取所述渲染进程10与主进程12之间的通信方式;且所述第二进程12还用于获取所述渲染进程的运行信息,按照所述通信方式将所述渲染进程的运行信息发送给所述主进程13,以使得所述主进程13将所述渲染进程的运行信息写入到所述终端设备的永久性存储器中。
可见,在本实施例的终端设备中,崩溃捕获模块11可以在第一进程10崩溃时,创建能访问第一进程10的地址空间的第二进程12,这样第二进程12就可以从第一进程10的地址空间中获取第一进程10实现各种功能的信息,从而实现与第一进程10相同的功能。这样崩溃捕获模块11在对第一进程10进行崩溃问题的分析时,第二进程12就能执行与第一进程10相同的功能,如果第一进程10正在执行的功能具有实时性,则本实施例的终端设备中,当第一进程10崩溃时,就可以不会影响当前正在执行的功能,而由第二进程12执行。
本发明实施例还提供一种终端设备,其结构示意图如图4所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。
终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如WindowsServerTM,MacOSXTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由终端设备所执行的步骤可以基于该图4所示的终端设备的结构。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的进程崩溃处理方法及终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种进程崩溃处理方法,其特征在于,应用于包括多个进程及崩溃捕获模块的终端设备中,所述方法包括:
当监测到所述多个进程中第一进程崩溃,所述崩溃捕获模块创建所述第二进程使得所述第二进程能访问所述第一进程的地址空间,所述第一进程为所述第二进程的父进程;
所述第二进程访问所述第一进程的地址空间,从所述地址空间获取所述第一进程实现各种功能的信息;
所述第二进程根据所述第一进程实现各种功能的信息执行相应的功能。
2.如权利要求1所述的方法,其特征在于,所述崩溃捕获模块创建所述第二进程,具体包括:所述崩溃捕获模块调用系统复制sys_clone函数创建所述第二进程,所述系统复制函数包括第一参数和第二参数,所述第一参数用于创建所述第二进程的第一功能,所述第一功能为获取所述第一进程的运行信息的功能,所述第二参数用于创建所述第二进程的第二功能,所述第二功能为访问所述第一进程的地址空间的功能。
3.如权利要求2所述的方法,其特征在于,所述第二参数中包括clone_vm选项。
4.如权利要求1至3任一项所述的方法,其特征在于,所述第一进程实现各种功能的信息包括所述第一进程与其它进程进行通信的信息。
5.如权利要求1至3任一项所述的方法,其特征在于,所述多个进程中包括主进程和至少一个渲染进程,所述第一进程为渲染进程,则所述从所述地址空间获取所述第一进程实现各种功能的信息,具体包括:所述第二进程从所述地址空间获取所述渲染进程与主进程之间的通信方式;
所述第二进程根据所述第一进程实现各种功能的信息执行相应的功能之前,所述方法还包括:所述第二进程获取所述渲染进程的运行信息;
所述第二进程根据所述第一进程实现各种功能的信息执行相应的功能,具体包括:所述第二进程按照所述通信方式将所述渲染进程的运行信息发送给所述主进程,以使得所述主进程将所述渲染进程的运行信息写入到所述终端设备的永久性存储器中。
6.一种终端设备,其特征在于,包括多个进程及崩溃捕获模块,其中:
所述崩溃捕获模块,用于当监测到所述多个进程中第一进程崩溃,创建所述第二进程使得所述第二进程能访问所述第一进程的地址空间,所述第一进程为所述第二进程的父进程;
所述终端设备还包括第二进程,所述第二进程,用于访问所述第一进程的地址空间,从所述地址空间获取所述第一进程实现各种功能的信息,根据所述第一进程实现各种功能的信息执行相应的功能。
7.如权利要求6所述的终端设备,其特征在于,所述崩溃捕获模块,具体用于调用系统复制sys_clone函数创建所述第二进程,所述系统复制函数包括第一参数和第二参数,所述第一参数用于创建所述第二进程的第一功能,所述第一功能为获取所述第一进程的运行信息的功能,所述第二参数用于创建所述第二进程的第二功能,所述第二功能为访问所述第一进程的地址空间的功能。
8.如权利要求7所述的终端设备,其特征在于,所述第二参数中包括clone_vm选项。
9.如权利要求6至8任一项所述的终端设备,其特征在于,所述第一进程实现各种功能的信息包括所述第一进程与其它进程进行通信的信息。
10.如权利要求6至8任一项所述的终端设备,其特征在于,所述多个进程中包括主进程和至少一个渲染进程,所述第一进程为渲染进程;
所述第二进程,具体用于从所述地址空间获取所述渲染进程与主进程之间的通信方式;
所述第二进程,还用于获取所述渲染进程的运行信息,按照所述通信方式将所述渲染进程的运行信息发送给所述主进程,以使得所述主进程将所述渲染进程的运行信息写入到所述终端设备的永久性存储器中。
CN201511030396.5A 2015-12-30 2015-12-30 一种进程崩溃处理方法及终端设备 Active CN105653386B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511030396.5A CN105653386B (zh) 2015-12-30 2015-12-30 一种进程崩溃处理方法及终端设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511030396.5A CN105653386B (zh) 2015-12-30 2015-12-30 一种进程崩溃处理方法及终端设备

Publications (2)

Publication Number Publication Date
CN105653386A true CN105653386A (zh) 2016-06-08
CN105653386B CN105653386B (zh) 2018-09-21

Family

ID=56490252

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511030396.5A Active CN105653386B (zh) 2015-12-30 2015-12-30 一种进程崩溃处理方法及终端设备

Country Status (1)

Country Link
CN (1) CN105653386B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597703A (zh) * 2018-12-05 2019-04-09 广州华多网络科技有限公司 一种软件开发工具包崩溃的处理方法、装置及设备
CN111416849A (zh) * 2020-03-13 2020-07-14 腾讯科技(深圳)有限公司 断线重连方法、装置、系统和计算机设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317115A (zh) * 1998-09-15 2001-10-10 英特尔公司 应用程序崩溃后向视频堆栈的接入保持
CN103176854A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种进程间通信方法、装置及系统
US20150149830A1 (en) * 2013-11-28 2015-05-28 International Business Machines Corporation Data dump for a memory in a data processing system
CN104965786A (zh) * 2015-06-25 2015-10-07 上海华为技术有限公司 一种应用程序的调试方法、调试主机及运行主机

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1317115A (zh) * 1998-09-15 2001-10-10 英特尔公司 应用程序崩溃后向视频堆栈的接入保持
CN103176854A (zh) * 2011-12-26 2013-06-26 腾讯科技(深圳)有限公司 一种进程间通信方法、装置及系统
US20150149830A1 (en) * 2013-11-28 2015-05-28 International Business Machines Corporation Data dump for a memory in a data processing system
CN104965786A (zh) * 2015-06-25 2015-10-07 上海华为技术有限公司 一种应用程序的调试方法、调试主机及运行主机

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109597703A (zh) * 2018-12-05 2019-04-09 广州华多网络科技有限公司 一种软件开发工具包崩溃的处理方法、装置及设备
CN111416849A (zh) * 2020-03-13 2020-07-14 腾讯科技(深圳)有限公司 断线重连方法、装置、系统和计算机设备

Also Published As

Publication number Publication date
CN105653386B (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN106302008A (zh) 数据更新方法和装置
CN104239139A (zh) 一种处理开机自启动项目的方法、装置及终端
CN104537005A (zh) 用于网页爬取的数据处理方法及装置
CN112631910A (zh) 前端测试方法、装置、计算机设备及存储介质
CN105760458A (zh) 一种图片处理方法及电子设备
CN106484459B (zh) 应用于JavaScript的流程控制方法和装置
CN103810173A (zh) 分页数据处理方法和系统
CN109525836A (zh) 基于fpga的嵌入式多模同测装置
CN105677456A (zh) 一种进程信息的写方法及用户设备
CN105653386A (zh) 一种进程崩溃处理方法及终端设备
CN112243033B (zh) 获取内存信息的方法、装置、设备及计算机可读存储介质
KR101593835B1 (ko) Plc 시스템
CN103647754A (zh) 云计算中拓扑图的绘制方法与装置
CN104504125A (zh) 网页数据监测方法和装置
US20170160892A1 (en) Individual customization system and method
CN103077104B (zh) 一种片上系统的验证方法、装置和系统
CN116149941A (zh) 服务器部件的监控方法、装置、服务器及存储介质
CN110955813A (zh) 一种数据爬取方法及装置
CN103077016B (zh) 一种活动对象创建方法、装置及浏览器
CN115292169A (zh) 一种ui自动化测试方法及系统
CN105843826A (zh) 一种查找方法和装置
CN114816184A (zh) 一种操作控件的展示方法、装置、设备及存储介质
CN104571791A (zh) 一种信息处理方法及电子设备
CN104090911A (zh) 一种信息处理方法和电子设备
CN110719260B (zh) 智能网络安全分析方法、装置及计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder

Address after: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee after: OPPO Guangdong Mobile Communications Co., Ltd.

Address before: Changan town in Guangdong province Dongguan 523860 usha Beach Road No. 18

Patentee before: Guangdong Opel Mobile Communications Co., Ltd.

CP01 Change in the name or title of a patent holder