[go: up one dir, main page]

CN109542744B - Method, device, storage medium and terminal for detecting abnormal starting problem of terminal - Google Patents

Method, device, storage medium and terminal for detecting abnormal starting problem of terminal Download PDF

Info

Publication number
CN109542744B
CN109542744B CN201811375773.2A CN201811375773A CN109542744B CN 109542744 B CN109542744 B CN 109542744B CN 201811375773 A CN201811375773 A CN 201811375773A CN 109542744 B CN109542744 B CN 109542744B
Authority
CN
China
Prior art keywords
boot
startup
terminal
information
animation
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.)
Active
Application number
CN201811375773.2A
Other languages
Chinese (zh)
Other versions
CN109542744A (en
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 CN201811375773.2A priority Critical patent/CN109542744B/en
Publication of CN109542744A publication Critical patent/CN109542744A/en
Application granted granted Critical
Publication of CN109542744B publication Critical patent/CN109542744B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems

Landscapes

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

Abstract

The embodiment of the application discloses a method and a device for detecting abnormal starting-up problems of a terminal, a storage medium and the terminal. The method comprises the steps of detecting the start of an init process; acquiring state information of a starting-up animation process through a preset detection service; and when the boot failure is determined according to the state information, storing target information causing the boot failure fault in the boot process. By the technical scheme, the preset detection service can be started to detect the starting state after the starting process enters the android layer, and logs causing the problem of non-starting in the whole process are acquired and stored when the starting fails; the method can cover the complete stage of the starting-up process, avoid the problem of detection leakage, save target information causing starting-up failure, and be convenient for terminal developers to analyze the reason causing the problem of non-starting-up.

Description

检测终端开机异常问题的方法、装置、存储介质及终端Method, device, storage medium and terminal for detecting abnormal startup of terminal

技术领域technical field

本申请实施例涉及智能设备技术,尤其涉及一种检测终端开机异常问题的方法、装置、存储介质及终端。The embodiments of the present application relate to smart device technologies, and in particular, to a method, an apparatus, a storage medium, and a terminal for detecting an abnormal startup of a terminal.

背景技术Background technique

随着终端的智能化程度增加,其在人们的日常生活中的应用越来越普及。然而,由于终端的高度智能化,通常会因为各种各样的原因导致终端开机失败。As the degree of intelligence of the terminal increases, its application in people's daily life becomes more and more popular. However, due to the high intelligence of the terminal, the terminal usually fails to boot due to various reasons.

目前,安卓系统(以下简称Android)本身可以通过看门狗(或者称为watchdog)机制,监控开机流程中因服务卡死导致开机失败的情况。例如,在某一关键的服务启动的时候,启动watchdog监测该服务是否卡死。然而,上述watchdog机制不能检测zygote进程启动前的服务或分区挂载情况,存在漏检测的问题。At present, the Android system (hereinafter referred to as Android) itself can monitor the boot failure caused by the service stuck in the boot process through the watchdog (or called watchdog) mechanism. For example, when a key service starts, start watchdog to monitor whether the service is stuck. However, the above watchdog mechanism cannot detect the mounting of services or partitions before the zygote process starts, and there is a problem of missing detection.

发明内容SUMMARY OF THE INVENTION

本申请实施例提供一种检测终端开机异常问题的方法、装置、存储介质及终端,可以有效地优化相关技术中的检测终端不开机问题的方案。Embodiments of the present application provide a method, device, storage medium, and terminal for detecting a problem of abnormal startup of a terminal, which can effectively optimize the solution for detecting a problem of a terminal not being turned on in the related art.

第一方面,本申请实施例提供了一种检测终端开机异常问题的方法,包括:In a first aspect, an embodiment of the present application provides a method for detecting abnormal startup of a terminal, including:

检测到init进程启动;It is detected that the init process is started;

通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;Obtain the state information of the boot animation process through the preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file;

根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。When the boot failure is determined according to the state information, the target information that causes the boot failure failure in the boot process is saved.

第二方面,本申请实施例还提供了一种检测终端开机异常问题的装置,该装置包括:In a second aspect, an embodiment of the present application further provides a device for detecting an abnormal problem of starting a terminal, and the device includes:

启动检测模块,用于检测到init进程启动;The startup detection module is used to detect the startup of the init process;

信息获取模块,用于通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;an information acquisition module, configured to acquire state information of the boot animation process through a preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file;

信息存储模块,用于根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。The information storage module is configured to save the target information that causes the failure to boot in the boot process when it is determined according to the state information that the boot fails.

第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的检测终端开机异常问题的方法。In a third aspect, the embodiments of the present application further provide a computer-readable storage medium on which a computer program is stored, and when the program is executed by a processor, implements the method for detecting abnormal startup of a terminal as described in the embodiments of the present application.

第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的检测终端开机异常问题的方法。In a fourth aspect, an embodiment of the present application provides a terminal, including a memory, a processor, and a computer program that is stored in the memory and can be run on the processor, and the processor executes the computer program to achieve the same implementation as the embodiment of the present application. The method for detecting abnormal startup of a terminal is described.

本申请实施例提供一种检测终端开机异常问题的方案,在检测到init进程启动时,通过预设检测服务获取开机动画进程的状态信息,其中,该预设检测服务对应的程序代码在init进程解析init.rc文件时执行;根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。通过上述技术方案,可以在开机流程进入安卓层面后即启动预设检测服务以检测开机状态,并在开机失败时获取整个流程中的导致不开机问题的日志进行存储;可以覆盖开机流程的完整阶段,避免出现漏检测的问题,此外,保存导致开机失败的目标信息,还可以便于终端开发人员分析导致不开机问题的原因,进而优化终端的开机流程。An embodiment of the present application provides a solution for detecting abnormal startup of a terminal. When the startup of an init process is detected, state information of a startup animation process is obtained through a preset detection service, wherein the program code corresponding to the preset detection service is in the init process. Executed when parsing the init.rc file; when it is determined that the boot fails according to the state information, the target information that causes the boot failure in the boot process is saved. Through the above technical solution, the preset detection service can be started to detect the boot state after the boot process enters the Android level, and when the boot fails, the logs that cause the failure to boot in the entire process can be obtained for storage; the entire stage of the boot process can be covered. , to avoid the problem of missed detection. In addition, saving the target information that causes the failure to boot can also facilitate the terminal developers to analyze the reasons for the failure to boot, and then optimize the boot process of the terminal.

附图说明Description of drawings

图1为本申请实施例提供的一种检测终端开机异常问题的方法的流程图;FIG. 1 is a flowchart of a method for detecting an abnormal problem of starting a terminal according to an embodiment of the present application;

图2为一种基于android系统的终端的开机启动流程的框架图;FIG. 2 is a frame diagram of a startup process of a terminal based on an android system;

图3为本申请实施例提供的另一种检测终端开机异常问题的方法的流程图;FIG. 3 is a flowchart of another method for detecting a problem of abnormal startup of a terminal provided by an embodiment of the present application;

图4为本申请实施例提供的又一种检测终端开机异常问题的方法的流程图;FIG. 4 is a flowchart of another method for detecting abnormal startup of a terminal according to an embodiment of the present application;

图5为本申请实施例提供的一种检测终端开机异常问题的装置的结构框图;FIG. 5 is a structural block diagram of an apparatus for detecting abnormal startup of a terminal according to an embodiment of the present application;

图6为本申请实施例提供的一种终端的结构示意图;FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present application;

图7是本申请实施例提供的一种智能手机的结构框图。FIG. 7 is a structural block diagram of a smart phone provided by an embodiment of the present application.

具体实施方式Detailed ways

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。The present application will be further described in detail below with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application, but not to limit the present application. In addition, it should be noted that, for the convenience of description, the drawings only show some but not all the structures related to the present application.

在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。Before discussing the exemplary embodiments in greater detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowchart depicts the steps as a sequential process, many of the steps may be performed in parallel, concurrently, or concurrently. Furthermore, the order of the steps can be rearranged. The process may be terminated when its operation is complete, but may also have additional steps not included in the figures. The processes may correspond to methods, functions, procedures, subroutines, subroutines, and the like.

图1为本申请实施例提供的一种检测终端开机异常问题的方法的流程图,本实施例可适用于监控终端开机失败情况的场景,该方法可以由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:FIG. 1 is a flowchart of a method for detecting a terminal startup abnormality problem provided by an embodiment of the present application. This embodiment can be applied to a scenario of monitoring a terminal startup failure. The method can be implemented by software and/or hardware, and can generally be integrated in the terminal. As shown in Figure 1, the method includes:

步骤110、检测到init进程启动。Step 110, it is detected that the init process is started.

需要说明的是,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑、计算机、掌上游戏机以及智能家电等设置安装有操作系统的设备。本申请实施例中对操作系统的类型不做限定,例如可包括安卓(Android)操作系统、窗口(Windows)操作系统以及苹果(ios)操作系统等等。It should be noted that the terminals in the embodiments of the present application may include mobile phones, tablet computers, notebook computers, computers, handheld game consoles, smart home appliances, and other devices that are installed with operating systems. The type of the operating system is not limited in the embodiments of the present application, and may include, for example, an Android (Android) operating system, a Windows (Windows) operating system, and an Apple (ios) operating system, and so on.

以Android为例简述终端的开机流程。Android的启动过程可以分为两个阶段,第一阶段是Linux的启动,第二阶段是Android的启动(可以称为上层开机流程)。图2为一种基于android系统的终端的开机启动流程的框架图。如图2所示,开机启动流程包括:201、BootRom——当按开机按键的时候,引导芯片开始从固化在ROM的预设代码开始执行,然后加载引导程序到RAM。202、Bootloader,又称为引导程序,是在操作系统运行之前运行的一段程序,是运行的第一个程序,用于把操作系统映像文件拷贝到RAM中去,然后跳到映像文件的入口去执行该文件,也可以称之为进入启动加载模式。203、Kernel——将内核加载进内存后,首先进入内核引导阶段,在内核引导阶段的最后,调用start_kernel进入内核启动阶段,主要是完成内核的大部分初始化工作。Start_kernel会最终启动用户空间的init进程。204、init进程——当初始化内核之后,就会启动init进程,在Linux中所有的进程都是由init进程直接或间接fork出来的。Init进程负责创建系统中最关键的几个核心daemon(守护)进程,包括但不限于zygote和service manager。其中,zygote是android启动的第一个dalvik虚拟机,它负责启动Java进程。service manager是Binder通信的基础。205、Zygote进程——该进程是所有Java进程的父进程。例如,zygote虚拟机启动子进程system_server,同时定义了一个Socket,用于接收ActivityManagerService启动应用程序的请求。206、SystemServer进程——在SystemServer进程开启的时候,会初始化ActivityManagerService。同时,会加载本地系统的服务库,调用createSystemContext()创建系统上下文,创建ActivityThread及开启各种服务等等。207、Home Activity——在ActivityManagerService开启之后,会调用finishBooting()完成引导过程,同时发送开机广播,进入home界面,显示桌面。Take Android as an example to briefly describe the boot process of the terminal. The startup process of Android can be divided into two stages. The first stage is the startup of Linux, and the second stage is the startup of Android (which can be called the upper-level boot process). FIG. 2 is a frame diagram of a startup process of a terminal based on an android system. As shown in Figure 2, the booting process includes: 201, BootRom - when the boot button is pressed, the boot chip starts to execute from the preset code solidified in the ROM, and then loads the boot program to the RAM. 202. Bootloader, also known as bootloader, is a program that runs before the operating system runs. It is the first program to run. It is used to copy the operating system image file to RAM, and then jump to the entry of the image file. Executing the file can also be called entering bootloader mode. 203. Kernel - After loading the kernel into the memory, it first enters the kernel boot stage. At the end of the kernel boot stage, call start_kernel to enter the kernel boot stage, mainly to complete most of the initialization work of the kernel. Start_kernel will finally start the user space init process. 204. init process - when the kernel is initialized, the init process will be started. In Linux, all processes are directly or indirectly forked by the init process. The Init process is responsible for creating the most critical core daemon (daemon) processes in the system, including but not limited to zygote and service manager. Among them, zygote is the first dalvik virtual machine started by android, which is responsible for starting the Java process. The service manager is the basis of Binder communication. 205. Zygote process - this process is the parent process of all Java processes. For example, the zygote virtual machine starts the child process system_server, and defines a Socket to receive requests from the ActivityManagerService to start the application. 206. SystemServer process - When the SystemServer process is started, the ActivityManagerService will be initialized. At the same time, the service library of the local system will be loaded, createSystemContext() will be called to create the system context, ActivityThread will be created, various services will be enabled, and so on. 207. Home Activity - After ActivityManagerService is started, finishBooting() will be called to complete the boot process, and at the same time, a boot broadcast will be sent to enter the home interface and display the desktop.

本申请实施例中,终端监控开机流程的执行,在检测到创建并启动内核线程init的指令时,确定检测到init进程启动。例如,内核初始化函数start_kernel执行到最后调用rest_init函数,而rest_init函数主要用于创建并启动内核线程init。In the embodiment of the present application, the terminal monitors the execution of the boot process, and when detecting an instruction to create and start the kernel thread init, determines that the init process is detected to be started. For example, the kernel initialization function start_kernel executes to the end and calls the rest_init function, and the rest_init function is mainly used to create and start the kernel thread init.

步骤120、通过预设检测服务获取开机动画进程的状态信息。Step 120: Obtain status information of the boot animation process through a preset detection service.

需要说明的是,预设检测服务用于对开机流程进行循环检测,获取开机动画服务(承载于开机动画进程上的服务)的属性值,并将该属性值与代表开机动画结束的属性值进行比对。若两者的属性值相同,则确定开机动画结束;否则,确定开机动画处于播放状态。It should be noted that the default detection service is used to perform loop detection on the boot process, obtain the attribute value of the boot animation service (the service carried on the boot animation process), and compare the attribute value with the attribute value representing the end of the boot animation. Comparison. If the property values of the two are the same, it is determined that the boot animation ends; otherwise, it is determined that the boot animation is in the playing state.

另外,该预设检测服务对应的程序代码在init进程解析init.rc文件时执行,可以理解为,init进程在执行时会加载一些基础服务以及各种定义于init.rc文件中的服务,该预设检测服务对应的程序代码在init进程解析init.rc文件时执行。例如,该预设检测服务对应的程序代码在执行init.rc文件的解析操作时被加载,并且可以在执行解析init.rc文件的首行函数之前执行。其中,init.rc文件可以包含系统核心服务的定义,如SurfaceFlinger、MediaServer、Logcatd等;还可以包括SOC厂商针对SOC核心功能定义的一些服务,如高通或MTK某一款SOC的相关的服务。还可以包括与EM/ODM厂商的产品所使用的外设以及差异化功能相关的服务等。单一的init*.rc被拆分,其对应的服务可以基于其二进制文件的位置(如/system,/vendor或者/odm)被定义到对应分区的etc/init目录中,需要说明的是,每个服务对应一个rc文件。In addition, the program code corresponding to the preset detection service is executed when the init process parses the init.rc file. It can be understood that the init process will load some basic services and various services defined in the init.rc file when it is executed. The program code corresponding to the preset detection service is executed when the init process parses the init.rc file. For example, the program code corresponding to the preset detection service is loaded when the parsing operation of the init.rc file is performed, and may be executed before the first line function of parsing the init.rc file is performed. Among them, the init.rc file can contain the definition of the system core services, such as SurfaceFlinger, MediaServer, Logcatd, etc.; it can also include some services defined by the SOC manufacturer for the core functions of the SOC, such as the related services of a certain SOC of Qualcomm or MTK. It can also include services related to peripherals and differentiated functions used by the products of EM/ODM manufacturers. A single init*.rc is split, and its corresponding service can be defined in the etc/init directory of the corresponding partition based on the location of its binary file (such as /system, /vendor or /odm). It should be noted that each Each service corresponds to an rc file.

需要说明的是,开机动画进程,又可以称为bootanimation进程,是用于在触摸屏上显示开机动画的进程。该开机动画进程通过执行surfaceflinger::startBootAnim()函数启动,其中,bootanimation的中的配置为disabled,表明该进程依赖于系统的显示服务,只有当显示相关的服务启动后bootanimation进程才能启动,也就是surfaceFlinger服务起来后会拉起bootanimation服务显示开机动画。由于bootanimation继承了Thread类,当调用父类的run()时,会在该线程运行前,调用readyToRun(),执行设定的初始化工作。例如,通过执行readyToRun()调用SurfaceComposerClient对象mSession的成员函数createSurface,获得一个SurfaceControl对象control,然后调用control的成员函数getSurface,获得一个Surface对象s。control和s都可以与SurgaceFlinger通过binder进行通信。此外,还初始化OPENEGL和EGL,以定义一个EGL显示屏以及描述一个EGL帧缓冲区配置参数,并描述一个EGL绘图表面和一个EGL绘图上下文。另外,按照顺序读取动画文件用于显示在触摸屏上。It should be noted that the boot animation process, also known as the boot animation process, is a process for displaying the boot animation on the touch screen. The boot animation process is started by executing the surfaceflinger::startBootAnim() function, where the configuration in bootanimation is disabled, indicating that the process depends on the display service of the system, and the bootanimation process can only be started when the display-related services are started, that is After the surfaceFlinger service is up, it will pull up the bootanimation service to display the boot animation. Since bootanimation inherits the Thread class, when the run() of the parent class is called, readyToRun() will be called before the thread runs to perform the set initialization work. For example, call the member function createSurface of the SurfaceComposerClient object mSession by executing readyToRun() to obtain a SurfaceControl object control, and then call the member function getSurface of control to obtain a Surface object s. Both control and s can communicate with SurgaceFlinger through binder. In addition, OPENEGL and EGL are initialized to define an EGL display and describe an EGL framebuffer configuration parameter, and to describe an EGL drawing surface and an EGL drawing context. In addition, the animation files are sequentially read for display on the touch screen.

需要说明的是,状态信息用于表征开机动画进程是否执行完,即开机动画是否播放完,包括代表开机动画结束的第一属性值和代表开机动画播放的第二属性值。It should be noted that the status information is used to indicate whether the boot animation process is completed, that is, whether the boot animation is played, including a first attribute value representing the end of the boot animation and a second attribute value representing the playback of the boot animation.

示例性的,在检测到init进程启动后,判断init进程是否执行解析init.rc文件,若是,则加载并执行预设检测服务对应的程序代码,基于该程序代码执行循环检测,以周期性的检测开机动画进程的状态信息。Exemplarily, after it is detected that the init process is started, it is determined whether the init process executes and parses the init.rc file, and if so, the program code corresponding to the preset detection service is loaded and executed, and the loop detection is performed based on the program code to periodically Detect the status information of the boot animation process.

步骤130、根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。Step 130: When it is determined according to the state information that the boot fails, save the target information that causes the boot failure in the boot process.

需要说明的是,基于终端的开机流程中开机动画的显示时间可以确定开机动画进程在执行时的阈值时间,记为预设时间阈值。例如,将预设时间阈值设置的略大于正常情况下开机动画的显示时间。若开机动画进程的执行时间超过预设时间阈值,则说明开机流程卡在了开机动画显示阶段,开机动画进程始终处于执行开机动画服务状态,确定开机失败。假设在开机动画进程的执行时间超过预设时间阈值之前,检测开机动画服务的属性值变为代表开机动画结束的属性值,则确定开机动画进程结束,可以得出开机成功的结论。在开机成功后,可以执行该预设检测服务对应的程序代码的退出语句,以退出程序。It should be noted that, based on the display time of the boot animation in the boot process of the terminal, the threshold time of the boot animation process during execution can be determined, which is recorded as the preset time threshold. For example, the preset time threshold is set to be slightly longer than the display time of the boot animation under normal circumstances. If the execution time of the boot animation process exceeds the preset time threshold, it means that the boot process is stuck in the boot animation display stage, the boot animation process is always in the state of executing the boot animation service, and it is determined that the boot fails. Assuming that before the execution time of the boot animation process exceeds the preset time threshold, the property value of the detected boot animation service becomes the property value representing the end of the boot animation, then it is determined that the boot animation process ends, and the conclusion that the boot is successful can be drawn. After the startup is successful, the exit statement of the program code corresponding to the preset detection service can be executed to exit the program.

示例性的,在基于该状态信息确定开机失败时,打印整个开机流程中的记录开机异常信息的日志文件,记为开机异常日志,也就是说,开机异常日志包含了整个开机流程中导致终端开机失败的目标信息。将该开机异常日志存储于终端的设定存储空间内,以便于将该开机异常日志回传至终端厂商的服务器。可选的,将该开机异常日志存储于终端的预留分区中,其中,预留分区是终端厂家为了存储一些关键日志或者其它不希望被清除的信息的定制分区。预留分区具有读写频率低于设定阈值的特点,该设定阈值可以是系统默认的较低的读写频率,可以避免因频繁读写导致分区损坏的情况发生。该预留分区还具有在刷机时不会被擦除的特点,可以稳妥的保存记录开机异常信息的日志文件。Exemplarily, when it is determined based on the status information that the boot fails, the log file recording the boot exception information in the entire boot process is printed, and recorded as the boot exception log, that is, the boot exception log includes the entire boot process that caused the terminal to boot. Failed target information. The startup exception log is stored in the set storage space of the terminal, so that the startup exception log can be returned to the server of the terminal manufacturer. Optionally, the boot exception log is stored in a reserved partition of the terminal, where the reserved partition is a customized partition of the terminal manufacturer to store some key logs or other information that is not expected to be cleared. The reserved partition has the characteristic that the read and write frequency is lower than the set threshold. The set threshold can be the default lower read and write frequency of the system, which can avoid the occurrence of partition damage caused by frequent read and write. The reserved partition also has the feature that it will not be erased when the machine is flashed, and can securely save the log file that records the abnormal information of the boot.

本申请实施例的技术方案,在检测到init进程启动时,通过预设检测服务获取开机动画进程的状态信息,其中,该预设检测服务对应的程序代码在init进程解析init.rc文件时执行;根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。通过上述技术方案,可以在开机流程进入安卓层面后即启动预设检测服务以检测开机状态,并在开机失败时获取整个流程中的导致不开机问题的日志进行存储,可以将日志回传至终端厂商;可以覆盖开机流程的完整阶段,避免出现漏检测的问题,此外,保存导致开机失败的目标信息,还可以便于终端开发人员分析导致不开机问题的原因,进而优化终端的开机流程。In the technical solutions of the embodiments of the present application, when the startup of the init process is detected, the state information of the boot animation process is obtained through a preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file ; When it is determined that the startup fails according to the state information, the target information that causes the startup failure in the startup process is saved. Through the above technical solution, the preset detection service can be started after the boot process enters the Android layer to detect the boot state, and when the boot fails, the logs that cause the problem of not booting in the entire process can be obtained for storage, and the logs can be returned to the terminal. Manufacturer; it can cover the complete stage of the boot process to avoid the problem of missed detection. In addition, saving the target information that causes the boot failure can also facilitate the terminal developers to analyze the reasons for the non-boot problem, and then optimize the terminal boot process.

图3为本申请实施例提供的另一种检测终端开机异常问题的方法的流程图,如图3所示,该方法包括:FIG. 3 is a flowchart of another method for detecting a problem of abnormal startup of a terminal provided by an embodiment of the present application. As shown in FIG. 3 , the method includes:

步骤301、检测到init进程启动。Step 301, it is detected that the init process is started.

步骤302、通过预设检测服务周期性地获取开机动画服务的属性信息。Step 302: Periodically acquire attribute information of the boot animation service through a preset detection service.

需要说明的是,属性信息是代表开机动画播放结束与否的字符。终端可以通过检测开机动画服务的属性信息判定开机动画是否播放结束。It should be noted that the attribute information is a character representing whether the start-up animation is finished or not. The terminal can determine whether the start-up animation has ended by detecting the attribute information of the start-up animation service.

示例性的,预设检测服务按照设定的周期获取开机动画服务的属性信息。其中,周期值可以是系统默认值,在设置该周期值时需要综合考虑终端的计算量以及检测的时效性。假设该周期值设置的过小,则会导致终端的计算量较大,而占用终端过多的计算资源。假设该周期值设置的过大,则不能及时的检测到开机动画结束。Exemplarily, the preset detection service acquires attribute information of the boot animation service according to a set period. The period value may be a system default value, and the calculation amount of the terminal and the timeliness of detection need to be comprehensively considered when setting the period value. Assuming that the period value is set too small, it will result in a large amount of calculation of the terminal and occupy too much computing resources of the terminal. If the period value is set too large, the end of the boot animation cannot be detected in time.

步骤303、获取开机动画进程的执行时间。Step 303: Obtain the execution time of the boot animation process.

示例性的,记录开机动画进程的执行时间,可以采用的方式是,在开机动画进程开始执行时,触发时间记录模块工作,以进行时间记录。需要说明的是,时间记录模块可以是计时器或晶振等硬件部件,还可以通过软件实现。Exemplarily, to record the execution time of the boot animation process, the method may be that, when the boot animation process starts to be executed, the time recording module is triggered to work to perform time recording. It should be noted that the time recording module may be a hardware component such as a timer or a crystal oscillator, and may also be implemented by software.

终端通过预设检测服务周期性的获取开机动画进程的执行时间,其中,上述检测周期的周期值可以是系统默认值。The terminal periodically obtains the execution time of the boot animation process through the preset detection service, wherein the period value of the detection period may be a system default value.

步骤304、判断所述执行时间是否小于预设时间阈值,若是,则执行步骤305,否则执行步骤308。Step 304 , determine whether the execution time is less than the preset time threshold, if yes, go to step 305 , otherwise go to step 308 .

示例性的,终端由时间记录模块获取开机动画进程的执行时间,并将该执行时间与预设时间阈值进行比较。Exemplarily, the terminal obtains the execution time of the boot animation process from the time recording module, and compares the execution time with a preset time threshold.

步骤305、判断所述属性信息是否为代表开机动画结束的属性值,若是,则执行步骤306,否则执行步骤307。Step 305 , determine whether the attribute information is an attribute value representing the end of the boot animation, if so, go to step 306 , otherwise go to step 307 .

步骤306、确定开机动画进程处于结束状态,确定开机成功。Step 306 , determine that the boot animation process is in an ending state, and determine that the boot is successful.

示例性的,在开机动画进程的执行时间小于预设时间阈值时,若检测到开机动画服务的属性信息变为代表开机动画结束的值,则确定开机动画进程处于结束状态。进而,若检测到开机动画进程处于结束状态,则可以确定开始成功。Exemplarily, when the execution time of the boot animation process is less than the preset time threshold, if it is detected that the property information of the boot animation service becomes a value representing the end of the boot animation, it is determined that the boot animation process is in an end state. Furthermore, if it is detected that the boot animation process is in an ending state, it can be determined that the start is successful.

步骤307、确定开机动画进程处于执行开机动画服务状态。Step 307: Determine that the boot animation process is in the state of executing the boot animation service.

示例性的,若开机动画服务的属性信息为代表开机动画正在播放的值,则可以确定开机动画进程处于执行开机动画服务状态。Exemplarily, if the attribute information of the boot animation service is a value representing that the boot animation is being played, it can be determined that the boot animation process is in the state of executing the boot animation service.

在当前周期内,确定开机动画进程处于执行开机动画服务状态,预设检测服务等待设定时间以在下一个周期来临时,返回步骤303获取开机动画进程的执行时间,再依次执行步骤304和步骤305,循环执行上述步骤直至该执行时间超过预设时间阈值,或者直至在执行时间超过预设时间阈值之前检测到开机动画进程处于结束状态。In the current cycle, it is determined that the boot animation process is in the state of executing the boot animation service, the preset detection service waits for the set time to come in the next cycle, returns to step 303 to obtain the execution time of the boot animation process, and then executes steps 304 and 305 in sequence , cyclically execute the above steps until the execution time exceeds the preset time threshold, or until it is detected that the boot animation process is in the end state before the execution time exceeds the preset time threshold.

步骤308、若开机动画进程始终处于执行开机动画服务状态,则确定开机失败。Step 308: If the boot animation process is always in the state of executing the boot animation service, it is determined that the boot fails.

示例性的,若在该执行时间超过预设时间阈值之前,开机动画进程始终处于执行开机动画服务状态,且在该执行时间超过预设时间阈值时,仍然未检测到开机动画的结束事件,则确定开机失败。Exemplarily, if before the execution time exceeds the preset time threshold, the boot animation process is always in the state of executing the boot animation service, and when the execution time exceeds the preset time threshold, the end event of the boot animation is still not detected, then Make sure the boot failed.

步骤309、在基于所述状态信息确定开机失败时,获取开机流程对应的开机异常日志。Step 309 , when it is determined based on the state information that the startup fails, acquire a startup exception log corresponding to the startup process.

其中,开机异常日志包含整个开机流程中引发终端开机失败故障的目标信息。该目标信息包含整个开机流程中所有服务卡死,或者服务不结束或者分区挂载不成功等故障的关键信息。The boot exception log includes target information that causes the terminal to fail to boot in the entire boot process. The target information includes key information about failures such as all services stuck during the entire boot process, or the services do not end or the partition is not mounted successfully.

示例性的,在开机失败时,获取开机流程中各个发生故障的阶段的开机异常日志。Exemplarily, when the startup fails, the startup exception logs of each failure stage in the startup process are obtained.

步骤310、将所述开机异常日志存储于预留分区。Step 310: Store the boot exception log in a reserved partition.

将开机异常日志存储于预留分区,以待合适的时机将该开机异常日志上报给终端的研发人员,可以避免因刷机或终端重启导致的记录开机异常的关键信息的日志文件丢失的情况发生,为研发人员分析开机异常的原因提供依据,进而,还为优化开机流程提供依据。Store the boot exception log in the reserved partition, and report the boot exception log to the terminal R&D personnel at an appropriate time, which can avoid the loss of the log file that records the key information of the boot exception due to flashing or restarting the terminal. It provides a basis for R&D personnel to analyze the reasons for abnormal startup, and furthermore, it also provides a basis for optimizing the startup process.

本申请实施例的技术方案,在预设检测服务的执行时间超过预设时间阈值之前,检测开机动画进程的执行状态,并根据该开机动画进程的执行状态确定开机是否成功;若开机失败,则打印整个开机流程各个出错的阶段对应的关键信息,作为开机异常日志,并将开机异常日志稳妥的存储于预留分区,从而,可以覆盖上层开机流程的完整阶段,并不局限于单个模块或服务,避免出现漏检测的情况;此外,还可以避免因刷机或终端重启导致的记录开机异常的关键信息的日志文件丢失的情况发生。The technical solutions of the embodiments of the present application detect the execution status of the boot animation process before the execution time of the preset detection service exceeds the preset time threshold, and determine whether the boot is successful according to the execution status of the boot animation process; if the boot fails, then Print the key information corresponding to each error stage of the entire boot process as the boot exception log, and store the boot exception log securely in the reserved partition, so that it can cover the entire stage of the upper-layer boot process, not limited to a single module or service. , to avoid the situation of missed detection; in addition, it can also avoid the loss of the log file that records the key information of abnormal startup caused by flashing or restarting the terminal.

图4为本申请实施例提供的又一种检测终端开机异常问题的方法的流程图,如图4所示,该方法包括:FIG. 4 is a flowchart of another method for detecting a problem of abnormal startup of a terminal provided by an embodiment of the present application. As shown in FIG. 4 , the method includes:

步骤401、检测到init进程启动。Step 401, it is detected that the init process is started.

步骤402、通过预设检测服务周期性地获取开机动画服务的属性信息。Step 402: Periodically acquire attribute information of the boot animation service through a preset detection service.

步骤403、获取开机动画进程的执行时间。Step 403: Obtain the execution time of the boot animation process.

步骤404、判断所述执行时间是否小于预设时间阈值,若是,则执行步骤405,否则执行步骤408。Step 404 , determine whether the execution time is less than the preset time threshold, if yes, go to step 405 , otherwise go to step 408 .

步骤405、判断所述属性信息是否为代表开机动画结束的属性值,若是,则执行步骤406,否则执行步骤407。Step 405 , determine whether the attribute information is an attribute value representing the end of the boot animation, if so, go to step 406 , otherwise go to step 407 .

步骤406、确定开机动画进程处于结束状态,确定开机成功。Step 406 , determining that the boot animation process is in an ending state, and determining that the boot is successful.

步骤407、确定开机动画进程处于执行开机动画服务状态。Step 407: Determine that the boot animation process is in the state of executing the boot animation service.

需要说明的是,在当前周期内,确定开机动画进程处于执行开机动画服务状态,预设检测服务等待设定时间以在下一个周期来临时,返回步骤403获取开机动画进程的执行时间,再依次执行步骤404和步骤405,循环执行上述步骤直至该执行时间超过预设时间阈值,或者直至在执行时间超过预设时间阈值之前检测到开机动画进程处于结束状态。It should be noted that, in the current cycle, it is determined that the boot animation process is in the state of executing the boot animation service, and the preset detection service waits for the set time to arrive in the next cycle, and returns to step 403 to obtain the execution time of the boot animation process, and then executes in sequence. Steps 404 and 405 , execute the above steps cyclically until the execution time exceeds the preset time threshold, or until it is detected that the boot animation process is in the end state before the execution time exceeds the preset time threshold.

步骤408、若开机动画进程始终处于执行开机动画服务状态,则确定开机失败。Step 408: If the boot animation process is always in the state of executing the boot animation service, it is determined that the boot fails.

步骤409、在基于所述状态信息确定开机失败时,获取开机流程对应的开机异常日志。Step 409: When it is determined based on the state information that the startup fails, acquire a startup exception log corresponding to the startup process.

步骤410、将所述开机异常日志存储于预留分区。Step 410: Store the boot exception log in a reserved partition.

步骤411、在检测到满足预设条件时,获取所述目标信息并以日志文件的形式输出。Step 411: When it is detected that a preset condition is met, acquire the target information and output it in the form of a log file.

需要说明的是,预设条件包括但不限于检测到预设诊断工具的信息获取请求,以及检测到开机异常后的正常开机。其中,正常开机包括在开机异常后系统自动重启后的正常开机;另外,正常开机还包括刷机后的正常开机等。It should be noted that the preset conditions include but are not limited to detecting an information acquisition request of a preset diagnostic tool, and normal booting after detecting a booting abnormality. Among them, the normal startup includes the normal startup after the system automatically restarts after the startup is abnormal; in addition, the normal startup also includes the normal startup after the flashing machine, etc.

示例性的,在检测到预设诊断工具发送的信息获取请求时,由该预留分区读取该日志文件并发送至预设诊断工具。其中,预设诊断工具可以是用于诊断终端不开机、终端死机或者终端开机卡住等问题的程序。Exemplarily, when an information acquisition request sent by a preset diagnostic tool is detected, the log file is read from the reserved partition and sent to the preset diagnostic tool. The preset diagnostic tool may be a program for diagnosing problems such as the terminal not being powered on, the terminal being crashed, or the terminal being stuck when powered on.

可选的,在保存开机流程中引发开机失败故障的目标信息之后,清除数据分区(又称为data分区)内的目标数据,控制终端重启。终端的开机流程卡在开机动画阶段可能是存在引发开机动画播放异常现象的文件或文件夹,可以通过清除data中的这类文件或文件夹而使终端能够成功开机。例如,可以通过对历史故障数据的分析,确定导致终端开机流程卡在开机动画的文件或文件夹的特征信息(包括文件名或后缀名等)。在检测到开机失败后,由数据分区内删除符合上述特征信息的文件或文件夹,然后,控制终端重启,检测是否克服了终端开机失败的问题。若终端成功开机,则将上述保存有开机流程中引发开机失败故障的目标信息以日志文件的形式输出至设定服务器,以便于终端厂商的研发人员获取各个终端的不开机故障对应的关键信息。可以理解的是,终端向设定服务器发送日志的方式可以有很多种,本申请实施例并不作具体限定。例如,可以通过可以WiFi上传日志至终端厂商的设定服务器。又如,还可以通过短信方式或者移动数据的方式等。Optionally, after saving the target information that causes the boot failure failure in the boot process, the target data in the data partition (also referred to as the data partition) is cleared, and the terminal is controlled to restart. If the boot process of the terminal is stuck in the boot animation stage, there may be files or folders that cause abnormal playback of the boot animation. You can clear such files or folders in the data to enable the terminal to boot successfully. For example, characteristic information (including file name or suffix name, etc.) of the file or folder that causes the terminal boot process to be stuck in the boot animation can be determined by analyzing historical fault data. After it is detected that the startup fails, the files or folders conforming to the above characteristic information are deleted from the data partition, and then the terminal is controlled to restart to check whether the problem of the failure of the terminal startup has been overcome. If the terminal is successfully powered on, the above-mentioned target information stored in the boot process that caused the failure to boot will be output to the setting server in the form of a log file, so that the R&D personnel of the terminal manufacturer can obtain the key information corresponding to each terminal failure to boot. It can be understood that there may be many ways for the terminal to send the log to the setting server, which is not specifically limited in this embodiment of the present application. For example, logs can be uploaded to the terminal manufacturer's setting server through WiFi. For another example, the method may also be through a short message or a mobile data method.

此外,还可以通过刷机的方式使终端开机成功,且保存有目标信息的开机异常日志被预先保存在预留分区,该预留分区内的数据不会因刷机操作而丢失。In addition, the terminal can be successfully powered on by flashing, and the boot exception log with target information is stored in the reserved partition in advance, and the data in the reserved partition will not be lost due to the flashing operation.

本申请实施例的技术方案,在终端开机失败后,通过清除数据分区内的目标数据的方式,尝试修复导致终端开机失败的原因,检测终端能否成功开机,若开机成功,则将目标信息以日志文件(又可以称为开机异常日志)的形式输出至设定服务器,以便于终端厂商获取到该日志文件,从而,为研发人员确定终端开机异常的原因提供数据基础,进而,可以有效地优化开机流程。The technical solutions of the embodiments of the present application, after the terminal fails to boot up, try to repair the cause of the terminal boot failure by clearing the target data in the data partition, and detect whether the terminal can be successfully booted. The log file (also known as the boot exception log) is output to the setting server so that the terminal manufacturer can obtain the log file, thereby providing a data basis for the R&D personnel to determine the cause of the abnormal boot of the terminal, and further, it can be effectively optimized. boot process.

图5为本申请实施例提供的一种检测终端开机异常问题的装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行检测终端开机异常问题的方法监控上层开机流程的完整阶段。如图5所示,该装置包括:FIG. 5 is a structural block diagram of an apparatus for detecting abnormal startup of a terminal according to an embodiment of the present application. The apparatus can be implemented by software and/or hardware, and is generally integrated in a terminal, and can monitor upper layers by executing a method for detecting abnormal startup of a terminal. The complete stage of the boot process. As shown in Figure 5, the device includes:

启动检测模块510,用于检测到init进程启动;The startup detection module 510 is used to detect the startup of the init process;

信息获取模块520,用于通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;The information obtaining module 520 is configured to obtain state information of the boot animation process through a preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file;

信息存储模块530,用于根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。The information storage module 530 is configured to save the target information that causes the failure to boot in the boot process when it is determined that the boot fails according to the state information.

本申请实施例提供一种检测终端开机异常问题的装置,在检测到init进程启动时,通过预设检测服务获取开机动画进程的状态信息,其中,该预设检测服务对应的程序代码在init进程解析init.rc文件时执行;根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。通过上述技术方案,可以在开机流程进入安卓层面后即启动预设检测服务以检测开机状态,并在开机失败时获取整个流程中的导致不开机问题的日志进行存储,可以将日志回传至终端厂商;可以覆盖开机流程的完整阶段,避免出现漏检测的问题,此外,保存导致开机失败的目标信息,还可以便于终端开发人员分析导致不开机问题的原因,进而优化终端的开机流程。An embodiment of the present application provides an apparatus for detecting abnormal startup of a terminal. When it is detected that an init process is started, state information of a startup animation process is obtained through a preset detection service, wherein the program code corresponding to the preset detection service is in the init process. Executed when parsing the init.rc file; when it is determined that the boot fails according to the state information, the target information that causes the boot failure in the boot process is saved. Through the above technical solution, the preset detection service can be started after the boot process enters the Android layer to detect the boot state, and when the boot fails, the logs that cause the problem of not booting in the entire process can be obtained for storage, and the logs can be returned to the terminal. Manufacturer; it can cover the entire stage of the boot process to avoid the problem of missed detection. In addition, saving the target information that causes the boot failure can also facilitate the terminal developers to analyze the reasons for the non-boot problem, and then optimize the terminal boot process.

可选的,信息获取模块520具体用于:Optionally, the information acquisition module 520 is specifically used for:

通过预设检测服务周期性地获取开机动画服务的属性信息,根据所述属性信息确定开机动画进程的状态信息。The attribute information of the boot animation service is periodically acquired through the preset detection service, and the state information of the boot animation process is determined according to the attribute information.

可选的,信息获取模块520中根据所述属性信息确定开机动画进程的状态信息步骤具体包括:Optionally, the step of determining the state information of the boot animation process according to the attribute information in the information acquisition module 520 specifically includes:

获取开机动画进程的执行时间;Get the execution time of the boot animation process;

在所述执行时间小于所述预设时间阈值时,判断所述属性信息是否为代表开机动画结束的属性值;When the execution time is less than the preset time threshold, determine whether the attribute information is an attribute value representing the end of the boot animation;

若是,则确定开机动画进程处于结束状态;If so, determine that the boot animation process is in the end state;

否则,确定开机动画进程处于执行开机动画服务状态。Otherwise, it is determined that the boot animation process is in the state of executing the boot animation service.

可选的,还包括:Optionally, also include:

开机判断模块,用于在判断所述属性信息是否为代表开机动画结束的属性值之后,若在所述执行时间超过所述预设时间阈值之前,检测到所述开机动画进程处于结束状态,则确定开机成功;The booting judgment module is configured to, after judging whether the attribute information is an attribute value representing the end of the booting animation, if it is detected that the booting animation process is in the end state before the execution time exceeds the preset time threshold, then Make sure the boot is successful;

若在所述执行时间超过所述预设时间阈值之前,所述开机动画进程始终处于执行开机动画服务状态,则确定开机失败。If the startup animation process is always in the state of executing the startup animation service before the execution time exceeds the preset time threshold, it is determined that the startup fails.

可选的,信息存储模块530具体用于:Optionally, the information storage module 530 is specifically used for:

在基于所述状态信息确定开机失败时,获取开机流程对应的开机异常日志,其中,开机异常日志包含整个所述开机流程中导致终端开机失败的目标信息;When it is determined based on the state information that the startup fails, a startup exception log corresponding to the startup process is obtained, wherein the startup exception log includes target information that causes the terminal to fail to boot in the entire startup process;

将所述开机异常日志存储于预留分区,其中,所述预留分区的读写频率低于设定阈值,且在刷机时,所述预留分区不会被擦除。The boot exception log is stored in a reserved partition, wherein the read and write frequency of the reserved partition is lower than a set threshold, and the reserved partition will not be erased during flashing.

可选的,还包括:Optionally, also include:

文件输出模块,用于在保存开机流程中引发开机失败故障的目标信息之后,在检测到满足预设条件时,获取所述目标信息并以日志文件的形式输出。The file output module is configured to obtain the target information and output it in the form of a log file when it is detected that a preset condition is met after saving the target information that caused the failure to boot during the boot process.

可选的,文件输出模块具体用于:Optionally, the file output module is specifically used to:

清除数据分区内的目标数据,控制终端重启;Clear the target data in the data partition, and control the terminal to restart;

若所述终端再重启后成功开机,则将所述目标信息以日志文件的形式输出至设定服务器。If the terminal is successfully powered on after restarting, the target information is output to the setting server in the form of a log file.

本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行检测终端开机异常问题的方法,该方法包括:Embodiments of the present application further provide a storage medium containing computer-executable instructions, where the computer-executable instructions are used to execute a method for detecting an abnormal startup of a terminal when the computer-executable instructions are executed by a computer processor, and the method includes:

检测到init进程启动;It is detected that the init process is started;

通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;Obtain the state information of the boot animation process through the preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file;

根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。When the boot failure is determined according to the state information, the target information that causes the boot failure failure in the boot process is saved.

存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。storage medium - any of various types of memory devices or storage devices. The term "storage medium" is intended to include: installation media, such as CD-ROMs, floppy disks, or tape devices; computer system memory or random access memory, such as DRAM, DDR RAM, SRAM, EDO RAM, Rambus RAM, etc. ; non-volatile memory, such as flash memory, magnetic media (eg hard disk or optical storage); registers or other similar types of memory elements, etc. The storage medium may also include other types of memory or combinations thereof. In addition, the storage medium may be located in the first computer system in which the program is executed, or may be located in a second, different computer system connected to the first computer system through a network such as the Internet. The second computer system may provide program instructions to the first computer for execution. The term "storage medium" may include two or more storage media that may reside in different locations (eg, in different computer systems connected by a network). The storage medium may store program instructions (eg, embodied as a computer program) executable by one or more processors.

当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的检测终端开机异常问题的操作,还可以执行本申请任意实施例所提供的检测终端开机异常问题的方法中的相关操作。Of course, a storage medium containing computer-executable instructions provided by the embodiments of the present application, the computer-executable instructions of the computer-executable instructions are not limited to the above-mentioned operations of detecting abnormal terminal startup problems, and can also execute the operations provided by any embodiment of the present application. Relevant operations in the method for detecting abnormal startup of a terminal.

本申请实施例提供了一种终端,该终端内具有操作系统,该终端中可集成本申请实施例提供的检测终端开机异常问题的装置。图6为本申请实施例提供的一种终端的结构示意图。如图6所示,该终端包括存储器610及处理器620。所述存储器610,用于存储计算机程序等;所述处理器620读取并执行所述存储器610中存储的计算机程序。所述处理器620在执行所述计算机程序时实现以下步骤:检测到init进程启动;通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息。The embodiment of the present application provides a terminal, the terminal has an operating system, and the device for detecting an abnormal startup of the terminal provided by the embodiment of the present application can be integrated into the terminal. FIG. 6 is a schematic structural diagram of a terminal according to an embodiment of the present application. As shown in FIG. 6 , the terminal includes a memory 610 and a processor 620 . The memory 610 is used to store computer programs and the like; the processor 620 reads and executes the computer programs stored in the memory 610 . The processor 620 implements the following steps when executing the computer program: detecting that the init process is started; obtaining state information of the boot animation process through a preset detection service, wherein the program code corresponding to the preset detection service parses init in the init process .rc file; when it is determined that the boot fails according to the state information, the target information that causes the boot failure in the boot process is saved.

上述示例中列举的存储器及处理器均为终端的部分元器件,所述终端还可以包括其它元器件。以智能手机为例,说明上述终端可能的结构。图7是本申请实施例提供的一种智能手机的结构框图。如图7所示,该智能手机可以包括:存储器701、中央处理器(CentralProcessing Unit,CPU)702(又称处理器,以下简称CPU)、外设接口703、RF(RadioFrequency,射频)电路705、音频电路706、扬声器711、触摸屏712、电源管理芯片708、输入/输出(I/O)子系统709、其他输入/控制设备710以及外部端口704,这些部件通过一个或多个通信总线或信号线707来通信。The memories and processors listed in the above examples are all parts of the terminal, and the terminal may also include other components. Taking a smart phone as an example, the possible structure of the above-mentioned terminal will be described. FIG. 7 is a structural block diagram of a smart phone provided by an embodiment of the present application. As shown in FIG. 7, the smart phone may include: a memory 701, a central processing unit (Central Processing Unit, CPU) 702 (also known as a processor, hereinafter referred to as CPU), a peripheral interface 703, an RF (Radio Frequency, radio frequency) circuit 705, Audio circuitry 706, speakers 711, touch screen 712, power management chip 708, input/output (I/O) subsystem 709, other input/control devices 710, and external ports 704 through one or more communication buses or signal lines 707 to communicate.

应该理解的是,图示智能手机700仅仅是终端的一个范例,并且智能手机700可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。It should be understood that the illustrated smartphone 700 is merely an example of a terminal, and that the smartphone 700 may have more or fewer components than those shown, two or more components may be combined, or Different component configurations are possible. The various components shown in the figures may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and/or application specific integrated circuits.

下面就本实施例提供的集成有检测终端开机异常问题的装置的智能手机进行详细的描述。The following will describe in detail the smart phone integrated with the device for detecting abnormal startup of the terminal provided in this embodiment.

存储器701,所述存储器701可以被CPU702、外设接口703等访问,所述存储器701可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。存储器包括终端厂家定制的预留分区,该预留分区的读写频率低于设定阈值,且在刷机时,该预留分区不会被擦除。在存储器701中存储计算机程序,还可以存储日志文件等。Memory 701, which can be accessed by CPU 702, peripheral interface 703, etc., said memory 701 can include high-speed random access memory, and can also include non-volatile memory, such as one or more disk storage devices, flash memory devices , or other volatile solid-state storage devices. The memory includes a reserved partition customized by the terminal manufacturer. The read and write frequency of the reserved partition is lower than the set threshold, and the reserved partition will not be erased when the device is flashed. A computer program is stored in the memory 701, and log files and the like may also be stored.

外设接口703,所述外设接口703可以将设备的输入和输出外设连接到CPU702和存储器701。A peripheral interface 703 that can connect the input and output peripherals of the device to the CPU 702 and the memory 701 .

I/O子系统709,所述I/O子系统709可以将设备上的输入输出外设,例如触摸屏712和其他输入/控制设备710,连接到外设接口703。I/O子系统709可以包括显示控制器7091和用于控制其他输入/控制设备710的一个或多个输入控制器7092。其中,一个或多个输入控制器7092从其他输入/控制设备710接收电信号或者向其他输入/控制设备710发送电信号,其他输入/控制设备710可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器7092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。I/O subsystem 709 , which can connect input and output peripherals on the device, such as touch screen 712 and other input/control devices 710 , to peripherals interface 703 . The I/O subsystem 709 may include a display controller 7091 and one or more input controllers 7092 for controlling other input/control devices 710 . Wherein, one or more input controllers 7092 receive electrical signals from or send electrical signals to other input/control devices 710, which may include physical buttons (push buttons, rocker buttons, etc. ), dial pad, slide switch, joystick, click wheel. Notably, the input controller 7092 can be connected to any of the following: a keyboard, an infrared port, a USB interface, and a pointing device such as a mouse.

触摸屏712,所述触摸屏712是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。The touch screen 712, which is an input interface and an output interface between the user terminal and the user, displays visual output to the user, and the visual output may include graphics, text, icons, videos, and the like.

I/O子系统709中的显示控制器7091从触摸屏712接收电信号或者向触摸屏712发送电信号。触摸屏712检测触摸屏上的接触,显示控制器7091将检测到的接触转换为与显示在触摸屏712上的用户界面对象的交互,即实现人机交互,显示在触摸屏712上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。Display controller 7091 in I/O subsystem 709 receives electrical signals from touch screen 712 or sends electrical signals to touch screen 712 . The touch screen 712 detects the contact on the touch screen, and the display controller 7091 converts the detected contact into interaction with the user interface object displayed on the touch screen 712, that is, to realize human-computer interaction, and the user interface object displayed on the touch screen 712 can be run. Icons for games, icons for connecting to the corresponding network, etc. It is worth noting that the device may also include a light mouse, which is a touch-sensitive surface that does not display visual output, or an extension of the touch-sensitive surface formed by a touch screen.

RF电路705,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路705接收并发送RF信号,RF信号也称为电磁信号,RF电路705将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路705可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。The RF circuit 705 is mainly used to establish the communication between the mobile phone and the wireless network (ie, the network side), and realize the data reception and transmission between the mobile phone and the wireless network. Such as sending and receiving text messages, e-mails, etc. Specifically, the RF circuit 705 receives and transmits RF signals, also known as electromagnetic signals, the RF circuit 705 converts electrical signals into electromagnetic signals or converts electromagnetic signals into electrical signals, and communicates with communication networks and other devices through the electromagnetic signals to communicate. RF circuitry 705 may include known circuitry for performing these functions including, but not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODECs ( COder-DECoder, codec) chip set, subscriber identity module (Subscriber Identity Module, SIM) and so on.

音频电路706,主要用于从外设接口703接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器711。The audio circuit 706 is mainly used for receiving audio data from the peripheral interface 703 , converting the audio data into an electrical signal, and sending the electrical signal to the speaker 711 .

扬声器711,用于将手机通过RF电路705从无线网络接收的语音信号,还原为声音并向用户播放该声音。The speaker 711 is used to restore the voice signal received by the mobile phone from the wireless network through the RF circuit 705 to sound and play the sound to the user.

电源管理芯片708,用于为CPU702、I/O子系统及外设接口所连接的硬件进行供电及电源管理。The power management chip 708 is used for power supply and power management for the hardware connected to the CPU 702, the I/O subsystem and the peripheral interface.

本申请实施例提供的终端,可以在开机流程进入安卓层面后即启动预设检测服务以检测开机状态,并在开机失败时获取整个流程中的导致不开机问题的日志进行存储,可以将日志回传至终端厂商;可以覆盖开机流程的完整阶段,避免出现漏检测的问题,此外,保存导致开机失败的目标信息,还可以便于终端开发人员分析导致不开机问题的原因,进而优化终端的开机流程。The terminal provided by the embodiment of the present application can start the preset detection service to detect the boot state after the boot process enters the Android level, and when the boot fails, obtain the logs that cause the problem of not booting in the entire process for storage, and can return the logs to It can be transmitted to the terminal manufacturer; it can cover the entire stage of the boot process to avoid the problem of missed detection. In addition, saving the target information that causes the boot failure can also facilitate the terminal developers to analyze the reasons for the failure to boot, and then optimize the terminal boot process. .

上述实施例中提供的检测终端开机异常问题的装置、存储介质及终端可执行本申请任意实施例所提供的检测终端开机异常问题的方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的检测终端开机异常问题的方法。The apparatus, storage medium and terminal for detecting abnormal terminal startup problems provided in the above embodiments can execute the method for detecting abnormal terminal startup problems provided by any embodiment of the present application, and have corresponding functional modules and beneficial effects for executing the method. For technical details that are not described in detail in the foregoing embodiments, reference may be made to the method for detecting an abnormal problem of terminal startup provided by any embodiment of the present application.

注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。Note that the above are only preferred embodiments of the present application and applied technical principles. Those skilled in the art will understand that the present application is not limited to the specific embodiments described herein, and various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present application. Therefore, although the present application has been described in detail through the above embodiments, the present application is not limited to the above embodiments, and can also include more other equivalent embodiments without departing from the concept of the present application. The scope is determined by the scope of the appended claims.

Claims (9)

1.一种检测终端开机异常问题的方法,其特征在于,包括:1. a method for detecting abnormal problem of terminal startup, it is characterized in that, comprising: 检测到init进程启动;It is detected that the init process is started; 通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;Obtain the state information of the boot animation process through the preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file; 根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息;When it is determined according to the state information that the boot fails, the target information that causes the failure to boot in the boot process is saved; 根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息,包括:When it is determined that the startup fails according to the state information, the target information that causes the startup failure in the startup process is saved, including: 在基于所述状态信息确定开机失败时,获取开机流程对应的开机异常日志,其中,开机异常日志包含整个所述开机流程中导致终端开机失败的目标信息;When it is determined based on the state information that the startup fails, a startup exception log corresponding to the startup process is obtained, wherein the startup exception log includes target information that causes the terminal to fail to boot in the entire startup process; 将所述开机异常日志存储于预留分区,其中,所述预留分区的读写频率低于设定阈值,且在刷机时,所述预留分区不会被擦除。The boot exception log is stored in a reserved partition, wherein the read and write frequency of the reserved partition is lower than a set threshold, and the reserved partition will not be erased during flashing. 2.根据权利要求1所述的方法,其特征在于,通过预设检测服务获取开机动画进程的状态信息,包括:2. The method according to claim 1, wherein obtaining the state information of the boot animation process through a preset detection service, comprising: 通过预设检测服务周期性地获取开机动画服务的属性信息,根据所述属性信息确定开机动画进程的状态信息。The attribute information of the boot animation service is periodically acquired through the preset detection service, and the state information of the boot animation process is determined according to the attribute information. 3.根据权利要求2所述的方法,其特征在于,根据所述属性信息确定开机动画进程的状态信息,包括:3. The method according to claim 2, wherein determining the state information of the boot animation process according to the attribute information, comprising: 获取开机动画进程的执行时间;Get the execution time of the boot animation process; 在所述执行时间小于预设时间阈值时,判断所述属性信息是否为代表开机动画结束的属性值;When the execution time is less than a preset time threshold, determine whether the attribute information is an attribute value representing the end of the boot animation; 若是,则确定开机动画进程处于结束状态;If so, determine that the boot animation process is in the end state; 否则,确定开机动画进程处于执行开机动画服务状态。Otherwise, it is determined that the boot animation process is in the state of executing the boot animation service. 4.根据权利要求3所述的方法,其特征在于,在判断所述属性信息是否为代表开机动画结束的属性值之后,还包括:4. The method according to claim 3, wherein after judging whether the attribute information is an attribute value representing the end of the boot animation, the method further comprises: 若在所述执行时间超过所述预设时间阈值之前,检测到所述开机动画进程处于结束状态,则确定开机成功;If it is detected that the boot animation process is in an ending state before the execution time exceeds the preset time threshold, it is determined that the boot is successful; 若在所述执行时间超过所述预设时间阈值之前,所述开机动画进程始终处于执行开机动画服务状态,则确定开机失败。If the startup animation process is always in the state of executing the startup animation service before the execution time exceeds the preset time threshold, it is determined that the startup fails. 5.根据权利要求1所述的方法,其特征在于,在保存开机流程中引发开机失败故障的目标信息之后,还包括:5. The method according to claim 1, characterized in that, after saving the target information causing the failure to boot in the boot process, the method further comprises: 在检测到满足预设条件时,获取所述目标信息并以日志文件的形式输出。When it is detected that the preset condition is met, the target information is acquired and output in the form of a log file. 6.根据权利要求5所述的方法,其特征在于,在检测到满足预设条件时,获取所述目标信息并以日志文件的形式输出,包括:6. The method according to claim 5, wherein when detecting that a preset condition is met, acquiring the target information and outputting it in the form of a log file, comprising: 清除数据分区内的目标数据,控制终端重启;Clear the target data in the data partition and control the terminal to restart; 若所述终端再重启后成功开机,则将所述目标信息以日志文件的形式输出至设定服务器。If the terminal is successfully powered on after restarting, the target information is output to the setting server in the form of a log file. 7.一种检测终端开机异常问题的装置,其特征在于,包括:7. A device for detecting abnormality of terminal startup, characterized in that it comprises: 启动检测模块,用于检测到init进程启动;The startup detection module is used to detect the startup of the init process; 信息获取模块,用于通过预设检测服务获取开机动画进程的状态信息,其中,预设检测服务对应的程序代码在init进程解析init.rc文件时执行;an information acquisition module, configured to acquire state information of the boot animation process through a preset detection service, wherein the program code corresponding to the preset detection service is executed when the init process parses the init.rc file; 信息存储模块,用于根据所述状态信息确定开机失败时,保存开机流程中引发开机失败故障的目标信息;an information storage module, configured to save the target information that caused the failure to boot in the boot process when it is determined according to the state information that the boot fails; 信息存储模块具体用于:The information storage module is specifically used for: 在基于所述状态信息确定开机失败时,获取开机流程对应的开机异常日志,其中,开机异常日志包含整个所述开机流程中导致终端开机失败的目标信息;When it is determined based on the state information that the startup fails, a startup exception log corresponding to the startup process is obtained, wherein the startup exception log includes target information that causes the terminal to fail to boot in the entire startup process; 将所述开机异常日志存储于预留分区,其中,所述预留分区的读写频率低于设定阈值,且在刷机时,所述预留分区不会被擦除。The boot exception log is stored in a reserved partition, wherein the read and write frequency of the reserved partition is lower than a set threshold, and the reserved partition will not be erased during flashing. 8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-6中任一所述的检测终端开机异常问题的方法。8 . A computer-readable storage medium on which a computer program is stored, characterized in that, when the program is executed by a processor, the method for detecting an abnormal problem of starting a terminal as claimed in any one of claims 1 to 6 is implemented. 9.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-6任一所述的检测终端开机异常问题的方法。9. A terminal, characterized in that, comprising a memory, a processor and a computer program stored on the memory and running on the processor, and when the processor executes the computer program, any one of claims 1-6 is realized. The above-mentioned method for detecting the abnormal problem of terminal startup.
CN201811375773.2A 2018-11-19 2018-11-19 Method, device, storage medium and terminal for detecting abnormal starting problem of terminal Active CN109542744B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811375773.2A CN109542744B (en) 2018-11-19 2018-11-19 Method, device, storage medium and terminal for detecting abnormal starting problem of terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811375773.2A CN109542744B (en) 2018-11-19 2018-11-19 Method, device, storage medium and terminal for detecting abnormal starting problem of terminal

Publications (2)

Publication Number Publication Date
CN109542744A CN109542744A (en) 2019-03-29
CN109542744B true CN109542744B (en) 2022-06-21

Family

ID=65848010

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811375773.2A Active CN109542744B (en) 2018-11-19 2018-11-19 Method, device, storage medium and terminal for detecting abnormal starting problem of terminal

Country Status (1)

Country Link
CN (1) CN109542744B (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110058980B (en) * 2019-04-19 2023-09-08 Oppo广东移动通信有限公司 Terminal start time early warning method, electronic device and computer readable storage medium
CN112416735B (en) * 2019-08-21 2024-06-25 腾讯科技(深圳)有限公司 Application program detection method and device, terminal equipment and storage medium
CN110874280B (en) * 2019-11-05 2023-08-29 RealMe重庆移动通信有限公司 Startup exception processing method and device, electronic equipment and storage medium
CN110837430A (en) * 2019-11-05 2020-02-25 RealMe重庆移动通信有限公司 Boot exception processing method and device, electronic equipment and storage medium
CN111443954A (en) * 2020-03-31 2020-07-24 广东美的制冷设备有限公司 Device initialization method and device, electronic device and computer storage medium
CN111506326A (en) * 2020-04-07 2020-08-07 Oppo(重庆)智能科技有限公司 Method, device and equipment for upgrading terminal equipment and storage medium
CN113535240B (en) * 2020-04-17 2025-03-11 深圳Tcl数字技术有限公司 A startup animation exit method, storage medium and terminal device
CN111669496B (en) * 2020-05-29 2021-07-23 华勤技术股份有限公司 Method for realizing double shooting of mobile terminal and mobile terminal
CN114257534B (en) * 2020-09-24 2024-11-26 北京小米移动软件有限公司 Test result processing method, device, system and storage medium
CN113254294B (en) * 2021-06-02 2024-06-07 广州绿怡信息科技有限公司 Equipment restarting detection method and device
CN113672448A (en) * 2021-07-07 2021-11-19 深圳Tcl新技术有限公司 Method, device and storage medium for monitoring BootLoader startup process
CN117135263B (en) * 2023-02-16 2024-06-07 荣耀终端有限公司 Log information acquisition method, electronic device and computer readable storage medium

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336736A (en) * 2013-05-27 2013-10-02 华为技术有限公司 System log acquisition method and device
CN106095503A (en) * 2016-06-13 2016-11-09 广东欧珀移动通信有限公司 Power-on method and system for intelligent terminal
CN108052430A (en) * 2017-11-30 2018-05-18 努比亚技术有限公司 Mobile terminal restarts localization method, mobile terminal and computer readable storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130007534A1 (en) * 2011-06-29 2013-01-03 International Business Machines Corporation Trace capture of successfully completed transactions for trace debugging of failed transactions

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336736A (en) * 2013-05-27 2013-10-02 华为技术有限公司 System log acquisition method and device
CN106095503A (en) * 2016-06-13 2016-11-09 广东欧珀移动通信有限公司 Power-on method and system for intelligent terminal
CN108052430A (en) * 2017-11-30 2018-05-18 努比亚技术有限公司 Mobile terminal restarts localization method, mobile terminal and computer readable storage medium

Also Published As

Publication number Publication date
CN109542744A (en) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109542744B (en) Method, device, storage medium and terminal for detecting abnormal starting problem of terminal
JP4459290B2 (en) Fast startup from operating system halt state
CN109522147A (en) Method, device, storage medium and terminal for recording abnormal startup information
TWI576764B (en) A computer system
US7707400B2 (en) Direct computing experience
CN113703799B (en) Computing device and BIOS updating method and medium thereof
US10869176B1 (en) Near field communication (NFC) enhanced computing systems
CN109753411A (en) Exception handling method and device, mobile terminal and storage medium
CN113672306B (en) Method, device, system and medium for recovery from abnormal self-checking of server components
CN107766177A (en) Boot optimization method, device, storage medium and terminal equipment
CN113641537A (en) A server startup system, method and medium
WO2025026240A1 (en) Method and apparatus for generating fault locating information, electronic device, and storage medium
CN117130672A (en) Server start flow control method, system, terminal and storage medium
CN109491825B (en) Method, device, storage medium and terminal for positioning abnormal starting problem
CN109634782B (en) A system robustness detection method, device, storage medium and terminal
CN114860322A (en) A baseboard management controller, control method and electronic device
WO2023000777A9 (en) Method for performing restarting during upgrade process of recovery mode, and terminal
US20070214345A1 (en) System and method for porting an operating system
WO2024119787A1 (en) Method and apparatus for amd server system installation power-off processing, device and medium
CN111309358A (en) A kind of CPLD firmware upgrade method, apparatus, equipment and readable storage medium
WO2020113469A1 (en) Power on self test method, power on self test device and mobile terminal
CN115951949A (en) Recovery method and device for configuration parameters of BIOS (basic input output System) and computing equipment
TWI461905B (en) Computing device capable of remote crash recovery, method for remote crash recovery of computing device, and computer readable medium
CN114139168A (en) TPCM measuring method, device and medium
CN108509223B (en) Data processing method, device and system and storage medium

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
GR01 Patent grant
GR01 Patent grant