CN109491825A - 一种定位开机异常问题的方法、装置、存储介质及终端 - Google Patents

一种定位开机异常问题的方法、装置、存储介质及终端 Download PDF

Info

Publication number
CN109491825A
CN109491825A CN201811366391.3A CN201811366391A CN109491825A CN 109491825 A CN109491825 A CN 109491825A CN 201811366391 A CN201811366391 A CN 201811366391A CN 109491825 A CN109491825 A CN 109491825A
Authority
CN
China
Prior art keywords
memory test
test program
terminal
set memory
program
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
CN201811366391.3A
Other languages
English (en)
Other versions
CN109491825B (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 CN201811366391.3A priority Critical patent/CN109491825B/zh
Publication of CN109491825A publication Critical patent/CN109491825A/zh
Application granted granted Critical
Publication of CN109491825B publication Critical patent/CN109491825B/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/079Root cause analysis, i.e. error or fault diagnosis
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/24Arrangements for testing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Biomedical Technology (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)
  • For Increasing The Reliability Of Semiconductor Memories (AREA)

Abstract

本申请实施例公开了一种定位开机异常问题的方法、装置、存储介质及终端。该方法包括检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;通过运行所述设定内存测试程序对所述终端进行内存测试处理;获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。通过执行上述技术方案,将设定内存测试程序预置于终端内,并在恢复模式下运行该设定内存测试程序,实现提供一种快速地定位开机异常问题是由硬件原因引发还是由软件原因引发的方案,避免售后人员进行不必要的软件分析,提高了故障原因的定位效率。

Description

一种定位开机异常问题的方法、装置、存储介质及终端
技术领域
本申请实施例涉及智能设备技术,尤其涉及一种定位开机异常问题的方法、装置、存储介质及终端。
背景技术
随着终端的智能化程度增加,其在人们的日常生活中的应用越来越普及。然而,由于终端的高度智能化,使得在其出现故障时,用户也难以自行修复,往往需要前往终端的售后中心进行维修。
通常,售后人员在面对无法开机的终端时,首先进行一系列软件测试及分析,以确定是否是由于软件原因导致无法开机。在排除由于软件原因导致的开机异常问题时,初步确定是由硬件原因导致终端无法开机。上述测试方式增加了软件测试的时间成本,使定位到导致开机异常原因的过程较复杂,定位效率较低。
发明内容
本申请实施例提供一种定位开机异常问题的方法、装置、存储介质及终端,可以有效地简化相关技术中定位开机异常问题的技术方案。
第一方面,本申请实施例提供了一种定位开机异常问题的方法,包括:
检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;
通过运行所述设定内存测试程序对所述终端进行内存测试处理;
获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
第二方面,本申请实施例还提供了一种定位开机异常问题的装置,包括:
事件触发模块,用于检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;
内存测试模块,用于通过运行所述设定内存测试程序对所述终端进行内存测试处理;
结果输出模块,用于获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
第三方面,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本申请实施例所述的定位开机异常问题的方法。
第四方面,本申请实施例提供了一种终端,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本申请实施例所述的定位开机异常问题的方法。
本申请实施例提供一种定位开机异常问题的方案,在恢复模式(或称为Recovery模式)下,检测到设定内存测试程序的启动事件被触发,该设定内存测试程序被预置于终端的设定目录中;通过运行该设定内存测试程序对所述终端进行内存测试处理;获取内存测试结果并输出,终端可以根据该内存测试结果确定导致开机异常问题的原因,或者,售后人员可以基于该内存测试结果确定是硬件或软件原因导致的开机异常问题等。通过执行上述技术方案,将设定内存测试程序预置于终端内,并在恢复模式下运行该设定内存测试程序,提供了一种快速地定位开机异常问题是由硬件原因引发还是由软件原因引发的方案,避免售后人员进行不必要的软件分析,提高了故障原因的定位效率;此外,还可以避免需要先获得终端的超级管理员权限才能将测试工具push到终端中运行的操作,简化了开机异常问题的测试方案。
附图说明
图1为本申请实施例提供的一种定位开机异常问题的方法的流程图;
图2为本申请实施例提供的另一种定位开机异常问题的方法的流程图;
图3为本申请实施例提供的又一种定位开机异常问题的方法的流程图;
图4为本申请实施例提供的一种定位开机异常问题的装置的结构框图;
图5为本申请实施例提供的一种终端的结构示意图;
图6为本申请实施例提供的一种智能手机的结构框图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部结构。
在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
图1为本申请实施例提供的一种定位开机异常问题的方法的流程图,该方法可以由定位开机异常问题的装置来执行,其中,该装置可由软件和/或硬件实现,一般可集成在终端中。如图1所示,该方法包括:
步骤110、检测到设定内存测试程序的启动事件被触发。
需要说明的是,本申请实施例中的终端可包括手机、平板电脑、笔记本电脑、计算机、掌上游戏机以及智能家电等设置安装有操作系统的设备。本申请实施例中对操作系统的类型不做限定,例如可包括安卓(Android)操作系统、窗口(Windows)操作系统以及苹果(ios)操作系统等等。
需要说明的是,恢复模式,又称为Recovery模式,是一种对终端内部的数据或系统进行修改的模式。在Recovery模式下可以对终端进行系统刷新,或者对已有的系统进行备份或升级等一系列操作。
设定内存测试程序,可以是对内存模块的状态进行测试的程序或工具,如内存压力测试工具等。例如,内存压力测试工具可以是memtest,用于捕获内存错误和出现位翻转的坏块等。需要说明的是,该设定内存测试程序被预置于终端的设定目录中。
以memtest工具为例,在本申请实施例中,将memtest对应的程序代码预置于recovery.img的sbin目录下,即在终端加载Recovery模式后,在sbin目录下存储有memtest对应的程序代码。
需要说明的是,触发设定内存测试程序的启动事件的方式有很多种,本申请实施例并不作具体限定。例如,在恢复模式界面下显示内存测试程序窗口,该内存测试程序窗口中显示有测试控件,检测到针对测试控件的操作指示时,触发设定内存测试程序的启动事件。又如,在恢复模式界面下输入设定命令触发设定内存测试程序的启动事件。其中,命令的输入方式可以是用户手动输入命令代码;或者用户输入设定手势,终端根据该设定手势自动匹配对应的命令代码;又或者是用户输入设定语音指示,终端根据该语音指示匹配对应的命令代码等等。
示例性的,终端在检测到Recovery模式的启动指示时,控制终端进入Recovery模式,从而在由于硬件异常(如发生DDR bitflip)导致无法正常开机的情况下,可以进入Recovery模式,对导致开机异常问题的原因进行定位。其中,Recovery模式的启动指示可以由终端厂商默认设置,如在终端处于关机状态时,通过按住电源键与音量下键进入Recovery模式等等。在终端处于Recovery模式后,显示恢复模式界面。假设在恢复模式界面中具有设定内存测试程序窗口的启动命令行等启动入口,或者针对该启动命令行的操作指示,以启动该设定内存测试程序窗口。在该设定内存测试程序窗口内显示有触发所述设定内存测试程序执行的测试控件。若检测到针对该测试控件的操作指示,则后台运行该设定内存测试程序。
可选的,还可以在恢复模式界面中显示触发该设定内存测试程序执行的命令行。在检测到针对该命令行的操作指示时,在后台运行该设定内存测试程序。
步骤120、通过运行所述设定内存测试程序对所述终端进行内存测试处理。
示例性的,在该设定内存测试程序运行的过程中,通过执行该设定内存测试程序向内存模块中写入按照设定规则排序的测试字符。在设定时间后,获取该设定内存测试程序运行的输出结果,其中,该输出结果是对上述内存模块执行读取操作得到的读取字符与写入字符的匹配结果,根据该匹配结果可以确定了内存测试结果。可选地,在测试字符与读取符的匹配结果中包含匹配失败字段(如Failure),确定内存测试结果为内存测试失败。在测试字符与读取字符的匹配结果中不包含匹配失败字段时,确定内存测试结果为内存测试成功。其中,执行上述设定内存测试程序设定时间后输出内存模块中不同测试项对应的测试字符和读取字符的匹配结果,该匹配结果可以通过Failure或者OK表示。设定时间可以是系统默认时间值,该默认时间值可以根据终端的内存空间确定,即内存测试程序对终端的全部内存空间执行默认次数的测试操作所需的时间等。
步骤130、获取内存测试结果并输出。
示例性的,假设触发设定内存测试程序的启动事件的方式是对设定内存测试程序窗口中的测试空间的操作指示,则获取上述内存测试结果,根据该测试结果更新该设定内存测试程序窗口,以待窗口刷新后,在该设定内存测试程序窗口的设定位置显示该内存测试结果。
可选的,假设触发设定内存测试程序启动事件的方式是通过恢复模式界面中显示的设定命令行,则获取上述内存测试结果,并基于该内存测试结果生成设定的输出窗口,如设定的输出窗口可以是弹出框的显示,在当前的恢复模式界面所在图层的上层显示该弹出框。该弹出框可能覆盖恢复模式界面上的部分内容。可选的,还可以在弹出框显示前,根据该弹出框的显示坐标调整恢复模式界面的页面布局,使该恢复模式界面将弹出框的显示坐标对应的区域的显示内容在其它位置显示,以避免弹出框覆盖恢复模式界面上的部分内容,提升显示效果。其中,该设定命令行用于触发设定内存测试程序执行。
本申请实施例的技术方案,检测到设定内存测试程序的启动事件被触发,该设定内存测试程序被预置于终端的设定目录中;通过运行该设定内存测试程序对所述终端进行内存测试处理;获取内存测试结果并输出,终端可以根据该内存测试结果确定导致开机异常问题的原因,或者,售后人员可以基于该内存测试结果确定是硬件或软件原因导致的开机异常问题等。通过执行上述技术方案,将设定内存测试程序预置于终端内,并在恢复模式下运行该设定内存测试程序,提供了一种快速地定位开机异常问题是由硬件原因引发还是由软件原因引发的方案,避免售后人员进行不必要的软件分析,提高了故障原因的定位效率;此外,还可以避免需要先获得终端的超级管理员权限才能将测试工具push到终端中运行的操作,简化了开机异常问题的测试方案。
图2为本申请实施例提供的另一种定位开机异常问题的方法的流程图,该方法包括:
步骤201、检测到恢复模式的启动指示,根据该启动指示控制终端进入恢复模式。
本申请实施例中的恢复模式包括设定内存测试程序窗口,可以在检测恢复模式后,通过设定方式启动该设定内存测试程序窗口。
对于部分由于硬件原因导致的终端无法开机的场景,终端能够进入Recovery模式。其中,终端无法开机的场景包括:按下电源键无反应,即无任何LOGO显示;显示第一个LOGO后,开机流程卡住;以及,在显示第二个Loading LOGO后,开机流程卡住;以及,在进入开机动画后开机流程卡住等等。以Android为例,上述第一个LOGO是在Android第一个进程init的相关服务中执行的,即通过解析init.rc脚本,生成文件系统,启动vold、media和SurfaceFlinger等Nativie服务。通过SurfaceFlinger显示带“Android”文字静态logo和带“android”文字的开机动画。第二个开机画面的内容是由文件/initlogo.rle来指定的。
示例性的,若在记录终端无法正常开机状态后,检测到进入恢复模式的启动指示,则根据该启动指示控制终端进入恢复模式,可以避免用户误操作终端而进入恢复模式,并在此模式下删除一些关键数据的情况发生。检测终端无法正常开机的方式可以是:在检测到终端上电启动时,触发时间记录模块工作,以进行时间记录,直至检测到桌面(或称为Home界面)为止。需要说明的是,时间记录模块可以是计时器或晶振等硬件部件。若由开机流程开始时刻至桌面显示时刻所经历的开机时间超过设定时间阈值,则确定终端无法正常开机。
步骤202、检测到设定内存测试程序窗口的显示事件,显示所述设定内存测试程序窗口。
示例性的,终端进入恢复模式后,在恢复模式界面中显示系统的版本号。预先为该版本号对应的控件设置计数功能和计时功能,从而可以记录针对该版本号的用户操作(例如连续的点击操作),确定用户操作的频率和次数。如,检测到针对恢复模式界面中显示的版本号的用户操作,触发计数器和计时器工作,根据计数器和计时器的记录结果确定用户操作的频率及次数。需要说明的是,在检测到针对版本号的用户操作后,获取该用户操作的频率和次数的方式并不限于通过计数器和计时器,还可以是其它替代方式,本申请并不作具体限定。
在获取到用户点击版本号的频率及次数时,判断该频率及次数是否满足设定条件。其中,设定条件包括实际频率超过标准频率和/或实际次数超过标准次数等。例如,将用户点击版本号的频率与预设标准频率进行比较,在用户点击版本号的频率大于或等于预设标准频率时,确定该频率满足设定条件,触发设定内存测试程序窗口的显示事件,显示该设定内存测试程序窗口。又如,将用户点击版本号的次数与预设标准次数进行比较,在用户点击版本号的次数大于或等于预设标准次数时,确定该次数满足设定条件,触发设定内存测试程序窗口的显示事件,显示该设定内存测试程序窗口。再如,分别将用户点击版本号的次数和频率与对应的标准次数和标准频率进行比较,在用户点击版本号的频率大于或等于预设标准频率,且用户点击版本号的次数大于或等于预设标准次数时,确定该频率和次数满足设定条件,触发设定内存测试程序窗口的显示事件,显示该设定内存测试程序窗口。
需要说明的是,设定内存测试程序窗口包括触发设定内存测试程序执行的测试控件。其中,测试控件包括测试按钮、可输入测试命令的编辑框或者测试功能列表等等。
步骤203、检测到对所述测试控件的操作指示,触发所述设定内存测试程序的启动事件。
需要说明的是,设定内存测试程序在终端出厂前被预置于recovery.img的sbin目录下,脚本中的相关参数已被固定,无法被恶意程序修改并利用来完成其它操作,降低了系统被攻击的风险。上述参数与终端的内存模块的属性信息相关。例如,可以根据内存模块的起始地址设置上述参数。又如,可以根据不同型号的终端发生内存模块故障的历史记录分析出容易发生故障的地址范围,采用较小的测试步长对该地址范围执行测试字符的读写操作,对于不容易发生故障的地址范围,采用较大的测试步长对该地址范围执行测试字符的读写操作,以提升测试效率和测试准确率。
示例性的,在设定内存测试程序窗口中显示测试按钮时,检测到对该测试按钮的点击操作,确定检测到对测试控件的操作指示,触发设定内存测试程序的启动事件,以控制该设定内存测试程序在后台运行。
可选的,在设定内存测试程序窗口中显示编辑框时,检测到对该编辑框内的测试命令时,确定检测到对测试控件的操作指示,触发设定内存测试程序的启动事件,以控制该设定内存测试程序在后台运行。
可选的,在设定内存测试程序窗口中显示测试功能列表时,若检测到设定内存测试程序的启动功能对应的选项被选中,则触发设定内存测试程序的启动事件,以控制该设定内存测试程序在后台运行。
需要说明的是,触发设定内存测试程序的启动事件的方式有很多种,本申请实施例并不作具体限定。
步骤204、通过执行所述设定内存测试程序,向内存模块中写入按照设定规则排序的测试字符。
示例性的,通过执行memtest脚本向内存模块中写入按照设定规则排序的0和1。memtest脚本中涉及的参数通常包括测试起始地址、测试长度、测试步长和测试次数等。其中,测试步长是根据输入的测试长度的大小分阶梯进行控制的,主要影响UI显示时候反馈内容的数量。
步骤205、对所述内存模块执行读取操作,得到读取字符。
示例性的,通过执行上述设定内存测试程序,在向内存模块的预设地址范围写入测试字符后,再按照写入时的顺序对预设地址范围执行读取操作,得到读取字符。也就是说,若顺序向内存模块的地址范围00000001~0000FFFE写入按照设定规则排序的0和1。相应地,在读取内存模块过程中,依据写入标准字符的顺序依次由地址范围00000001~0000FFFE获取该读取字符。
步骤206、匹配所述读取字符和所述测试字符,并根据匹配结果确定内存测试结果。
示例性的,通过执行上述设定内存测试程序,判断内存中各个测试项对应的由读取字符构成的字符串和由测试字符构成的字符串是否相同。若是,则确定测试项对应的匹配结果是OK;否则,确定测试项对应的匹配结果是Failure。其中,测试项包括如下函数inttest_stuck_address(bufa,count)、int test_random_value(bufa,bufb,count)、inttest_xor_comparison(bufa,bufb,count)、nt test_solidbits_comparison(bufa,bufb,count)和nt test_bitflip_comparison(bufa,bufb,count)等等。
示例性的,在距离写入测试字符的开始时刻设定时间后,获取memtest脚本运行的输出结果,该输出结果包括测试项以及对应的匹配结果。其中,设定时间可以是系统默认值,该系统默认值可以根据memtest脚本运行完成所需的时间设置。判断上述匹配结果中是否包含Failure字段,若是,则确定内存测试检测到坏块,存在硬件异常,内存测试失败;否则,确定内存测试成功。
步骤207、获取内存测试结果,并基于所述内存测试结果生成设定输出窗口,在恢复模式界面上显示所述设定输出窗口。
示例性的,获取内存测试结果,基于该内存测试结果更新设定内存测试程序窗口,并在内存测试程序窗口中显示上述测试结果,以提示售后人员内存测试成功或失败,从而售后人员可以根据内存测试结果快速判断导致终端无法开机的原因是否是硬件故障。
可选的,获取内存测试结果,基于该内存测试结果生成设定输出窗口,并在屏幕刷新时在内存测试程序窗口的上层进行显示,以提示售后人员内存测试成功或失败,从而售后人员可以根据内存测试结果快速判断导致终端无法开机的原因是否是硬件故障。
可选的,获取内存测试结果,并基于该内存测试结果判断导致终端无法开机的原因是硬件故障还是软件问题。基于内存测试结果和故障原因生成设定输出窗口,并在该内存测试程序窗口的上层显示该设定输出窗口。例如,获取内存测试结果,若内存测试结果为测试失败,则说明内存模块存在坏块,导致终端无法开机的原因可能是硬件故障,则在恢复模式界面上显示该设定输出窗口,在设定输出窗口中显示“内存测试失败,导致终端无法开机的原因可能为硬件故障”的提示信息,实现快速定位故障原因的效果。
本申请实施例的技术方案,通过在恢复模式的设定目录下预置设定内存测试程序,并在恢复模式界面中增加设定内存测试程序的启动命令或者入口的方式启动该设定内存测试程序,由于内存测试程序被写在恢复模式的设定目录下,其参数被固定,不可被恶意程序篡改,从而可以避免恶意程序利用该设定内存测试程序完成其它操作,保证了系统安全性。
图3为本申请实施例提供的又一种定位开机异常问题的方法的流程图,该方法包括:
步骤301、检测到恢复模式的启动指示,根据该启动指示控制终端进入恢复模式。
步骤302、检测到设定内存测试程序窗口的显示事件,获取用户输入的身份认证信息,根据所述身份认证信息进行鉴权处理。
在检测到设定内存测试程序窗口的显示事件时,提示用户输入身份认证信息。其中,身份认证信息包括设定的字符串或者设定的触摸手势等等。终端根据该身份认证信息对用户身份进行判断,从而确定该用户是否有权限对设定内存测试程序窗口进行处理。终端判断用户身份的方式可以包括将所获取的身份认证信息与预存的标准身份信息进行匹配,若匹配成功,则确定用户具有对设定内存测试程序进行处理的权限,确定鉴权成功;否则,确定用户不具备对设定内存测试程序进行处理的权限,确定鉴权失败。在鉴权失败时,可以在恢复模式界面中显示弹窗,以提示用户不具备处理设定内存测试程序的权限。
步骤303、在鉴权成功时,执行触发设定内存测试程序窗口的显示事件的操作。
示例性的,在身份认证信息与预存的标准身份信息匹配成功时,确定鉴权成功,触发设定内存测试程序窗口的显示事件,以显示所述设定内存测试程序窗口。
步骤304、检测到对所述测试控件的操作指示,触发所述设定内存测试程序的启动事件。
步骤305、通过执行所述设定内存测试程序,向内存模块中写入按照设定规则排序的测试字符。
步骤306、对所述内存模块执行读取操作,得到读取字符。
步骤307、配所述读取字符和所述测试字符,并根据匹配结果确定内存测试结果。
步骤308、获取内存测试结果,并基于所述内存测试结果生成设定输出窗口,在恢复模式界面上显示所述设定输出窗口。
本申请实施例的技术方案,通过在触发设定内存测试程序窗口的显示事件之前,增加获取用户输入的身份认证信息,根据所述身份认证信息进行鉴权处理的步骤,并在鉴权成功后才触发设定内存测试程序窗口的显示事件,可以避免用户误触导致内存测试程序窗口被显示后,执行设定内存测试程序窗口而增加内存的读写频率,进而避免因多次读写内存模块可而增加内存损坏的风险的情况发生。
图4为本申请实施例提供的一种定位开机异常问题的装置的结构框图,该装置可由软件和/或硬件实现,一般集成在终端中,可通过执行定位开机异常问题的方法快速筛选出导致终端不开机问题的原因。如图4所示,该装置包括:
事件检测模块410,用于检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;
内存测试模块420,用于通过运行所述设定内存测试程序对所述终端进行内存测试处理;
结果输出模块430,用于获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
本申请实施例提供一种定位开机异常问题的装置,在恢复模式下,检测到设定内存测试程序的启动事件被触发,该设定内存测试程序被预置于终端的设定目录中;通过运行该设定内存测试程序对所述终端进行内存测试处理;获取内存测试结果并输出,终端可以根据该内存测试结果确定导致开机异常问题的原因,或者,售后人员可以基于该内存测试结果确定是硬件或软件原因导致的开机异常问题等。通过执行上述技术方案,将设定内存测试程序预置于终端内,并在恢复模式下运行该设定内存测试程序,实现提供一种快速地定位开机异常问题是由硬件原因引发还是由软件原因引发的方案,避免售后人员进行不必要的软件分析,提高了故障原因的定位效率;此外,还可以避免需要先获得终端的超级管理员权限才能将测试工具push到终端中运行的操作,简化了开机异常问题的测试方案。
可选的,还包括:
模式启动模块,用于在检测到设定内存测试程序的启动事件被触发之前,根据恢复模式的启动指示控制终端进入恢复模式,其中,所述恢复模式包含设定内存测试程序窗口;
显示事件检测模块,用于检测到设定内存测试程序窗口的显示事件,显示所述设定内存测试程序窗口,其中,所述设定内存测试程序窗口包括触发设定内存测试程序执行的测试控件;
启动事件触发模块,用于检测到对所述测试控件的操作指示,触发所述设定内存测试程序的启动事件。
可选的,还包括:
操作检测模块,用于在检测到设定内存测试程序窗口的显示事件之前,检测到针对恢复模式界面中显示的版本号的用户操作,获取用户操作的频率和次数;
在所述频率和次数满足设定条件时,触发设定内存测试程序窗口的显示事件。
可选的,还包括:
鉴权处理模块,用于在触发设定内存测试程序窗口的显示事件之前,获取用户输入的身份认证信息,根据所述身份认证信息进行鉴权处理;在鉴权成功时,执行触发设定内存测试程序窗口的显示事件的操作。
可选的,内存测试模块420具体用于:
通过执行所述设定内存测试程序,向内存模块中写入按照设定规则排序的测试字符;
对所述内存模块执行读取操作,得到读取字符;
匹配所述读取字符和所述测试字符,并根据匹配结果确定内存测试结果。
可选的,上述匹配所述读取字符和所述测试字符,并根据匹配结果确定内存测试结果,包括:
对所述读取字符和所述测试字符进行匹配处理;
在匹配结果中包含匹配失败字段时,确定内存测试失败;
在匹配结果中不包含匹配失败字段时,确定内存测试成功。
可选的,结果输出模块430具体用于:
获取内存测试结果,并基于所述内存测试结果生成设定输出窗口,在恢复模式界面上显示所述设定输出窗口。
本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行定位开机异常问题的方法,该方法包括:
检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;
通过运行所述设定内存测试程序对所述终端进行内存测试处理;
获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括可以驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器执行的程序指令(例如具体实现为计算机程序)。
当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的定位开机异常问题的操作,还可以执行本申请任意实施例所提供的定位开机异常问题的方法中的相关操作。
本申请实施例提供了一种终端,该终端内具有操作系统,该终端中可集成本申请实施例提供的定位开机异常问题的装置。图5为本申请实施例提供的一种终端的结构示意图。如图5所示,该终端包括存储器510及处理器520。所述存储器510,用于存储计算机程序等;所述处理器520读取并执行所述存储器510中存储的计算机程序。所述处理器520在执行所述计算机程序时实现以下步骤:检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;通过运行所述设定内存测试程序对所述终端进行内存测试处理;获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
上述示例中列举的存储器及处理器均为终端的部分元器件,所述终端还可以包括其它元器件。以智能手机为例,说明上述终端可能的结构。图6为本申请实施例提供的一种智能手机的结构框图。如图6所示,该智能手机可以包括:存储器601、中央处理器(CentralProcessing Unit,CPU)602(又称处理器,以下简称CPU)、外设接口603、RF(RadioFrequency,射频)电路605、音频电路606、扬声器611、触摸屏612、电源管理芯片608、输入/输出(I/O)子系统609、其他输入/控制设备610以及外部端口604,这些部件通过一个或多个通信总线或信号线607来通信。
应该理解的是,图示智能手机600仅仅是终端的一个范例,并且智能手机600可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
下面就本实施例提供的集成有定位开机异常问题的装置的智能手机进行详细的描述。
存储器601,所述存储器601可以被CPU602、外设接口603等访问,所述存储器601可以包括高速随机存取存储器,还可以包括非易失性存储器,例如一个或多个磁盘存储器件、闪存器件、或其他易失性固态存储器件。在存储器601中存储计算机程序等。
外设接口603,所述外设接口603可以将设备的输入和输出外设连接到CPU602和存储器601。
I/O子系统609,所述I/O子系统609可以将设备上的输入输出外设,例如触摸屏612和其他输入/控制设备610,连接到外设接口603。I/O子系统609可以包括显示控制器6091和用于控制其他输入/控制设备610的一个或多个输入控制器6092。其中,一个或多个输入控制器6092从其他输入/控制设备610接收电信号或者向其他输入/控制设备610发送电信号,其他输入/控制设备610可以包括物理按钮(按压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击滚轮。值得说明的是,输入控制器6092可以与以下任一个连接:键盘、红外端口、USB接口以及诸如鼠标的指示设备。
触摸屏612,所述触摸屏612是用户终端与用户之间的输入接口和输出接口,将可视输出显示给用户,可视输出可以包括图形、文本、图标、视频等。
I/O子系统609中的显示控制器6091从触摸屏612接收电信号或者向触摸屏612发送电信号。触摸屏612检测触摸屏上的接触,显示控制器6091将检测到的接触转换为与显示在触摸屏612上的用户界面对象的交互,即实现人机交互,显示在触摸屏612上的用户界面对象可以是运行游戏的图标、联网到相应网络的图标等。值得说明的是,设备还可以包括光鼠,光鼠是不显示可视输出的触摸敏感表面,或者是由触摸屏形成的触摸敏感表面的延伸。
RF电路605,主要用于建立手机与无线网络(即网络侧)的通信,实现手机与无线网络的数据接收和发送。例如收发短信息、电子邮件等。具体地,RF电路605接收并发送RF信号,RF信号也称为电磁信号,RF电路605将电信号转换为电磁信号或将电磁信号转换为电信号,并且通过该电磁信号与通信网络以及其他设备进行通信。RF电路605可以包括用于执行这些功能的已知电路,其包括但不限于天线系统、RF收发机、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、CODEC(COder-DECoder,编译码器)芯片组、用户标识模块(Subscriber Identity Module,SIM)等等。
音频电路606,主要用于从外设接口603接收音频数据,将该音频数据转换为电信号,并且将该电信号发送给扬声器611。
扬声器611,用于将手机通过RF电路605从无线网络接收的语音信号,还原为声音并向用户播放该声音。
电源管理芯片608,用于为CPU602、I/O子系统及外设接口所连接的硬件进行供电及电源管理。
本申请实施例提供的终端,可以提供一种快速地定位开机异常问题是由硬件原因引发还是由软件原因引发的方案,避免售后人员进行不必要的软件分析,提高了故障原因的定位效率;此外,还可以避免需要先获得终端的超级管理员权限才能将测试工具push到终端中运行的操作,简化了开机异常问题的测试方案。
上述实施例中提供的定位开机异常问题的装置、存储介质及终端可执行本申请任意实施例所提供的定位开机异常问题的方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的定位开机异常问题的方法。
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由所附的权利要求范围决定。

Claims (10)

1.一种定位开机异常问题的方法,其特征在于,包括:
检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;
通过运行所述设定内存测试程序对所述终端进行内存测试处理;
获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
2.根据权利要求1所述的方法,其特征在于,在检测到设定内存测试程序的启动事件被触发之前,还包括:
根据恢复模式的启动指示控制终端进入恢复模式,其中,所述恢复模式包含设定内存测试程序窗口;
检测到设定内存测试程序窗口的显示事件,显示所述设定内存测试程序窗口,其中,所述设定内存测试程序窗口包括触发设定内存测试程序执行的测试控件;
检测到对所述测试控件的操作指示,触发所述设定内存测试程序的启动事件。
3.根据权利要求2所述的方法,其特征在于,在检测到设定内存测试程序窗口的显示事件之前,还包括:
检测到针对恢复模式界面中显示的版本号的用户操作,获取用户操作的频率和次数;
在所述频率和次数满足设定条件时,触发设定内存测试程序窗口的显示事件。
4.根据权利要求3所述的方法,其特征在于,在触发设定内存测试程序窗口的显示事件之前,还包括:
获取用户输入的身份认证信息,根据所述身份认证信息进行鉴权处理;
在鉴权成功时,执行触发设定内存测试程序窗口的显示事件的操作。
5.根据权利要求1所述的方法,其特征在于,通过运行所述设定内存测试程序对所述终端进行内存测试处理,包括:
通过执行所述设定内存测试程序,向内存模块中写入按照设定规则排序的测试字符;
对所述内存模块执行读取操作,得到读取字符;
匹配所述读取字符和所述测试字符,并根据匹配结果确定内存测试结果。
6.根据权利要求5所述的方法,其特征在于,匹配所述读取字符和所述测试字符,并根据匹配结果确定内存测试结果,包括:
对所述读取字符和所述测试字符进行匹配处理;
在匹配结果中包含匹配失败字段时,确定内存测试失败;
在匹配结果中不包含匹配失败字段时,确定内存测试成功。
7.根据权利要求1至6中任一项所述的方法,其特征在于,获取内存测试结果并输出,包括:
获取内存测试结果,并基于所述内存测试结果生成设定输出窗口,在恢复模式界面上显示所述设定输出窗口。
8.一种定位开机异常问题的装置,其特征在于,包括:
事件检测模块,用于检测到设定内存测试程序的启动事件被触发,其中,所述设定内存测试程序被预置于终端的设定目录中;
内存测试模块,用于通过运行所述设定内存测试程序对所述终端进行内存测试处理;
结果输出模块,用于获取内存测试结果并输出,其中,所述内存测试结果用于确定导致开机异常问题的原因。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的定位开机异常问题的方法。
10.一种终端,其特征在于,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1-7任一所述的定位开机异常问题的方法。
CN201811366391.3A 2018-11-16 2018-11-16 一种定位开机异常问题的方法、装置、存储介质及终端 Active CN109491825B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811366391.3A CN109491825B (zh) 2018-11-16 2018-11-16 一种定位开机异常问题的方法、装置、存储介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811366391.3A CN109491825B (zh) 2018-11-16 2018-11-16 一种定位开机异常问题的方法、装置、存储介质及终端

Publications (2)

Publication Number Publication Date
CN109491825A true CN109491825A (zh) 2019-03-19
CN109491825B CN109491825B (zh) 2022-08-23

Family

ID=65695070

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811366391.3A Active CN109491825B (zh) 2018-11-16 2018-11-16 一种定位开机异常问题的方法、装置、存储介质及终端

Country Status (1)

Country Link
CN (1) CN109491825B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069009A (zh) * 2020-09-04 2020-12-11 广东小天才科技有限公司 一种在Recovery模式下进行压力测试的方法、装置和终端设备
CN112559240A (zh) * 2020-12-25 2021-03-26 龙芯中科(成都)技术有限公司 内存自适应调整的方法、装置、设备及可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504888A (zh) * 2002-12-03 2004-06-16 技嘉科技股份有限公司 基本输入输出系统检测及更新开机程序方法
CN102722378A (zh) * 2011-03-30 2012-10-10 比亚迪股份有限公司 一种非智能手机及升级其系统程序的方法
CN103455397A (zh) * 2013-09-06 2013-12-18 杭州华为数字技术有限公司 一种系统自检的方法、设备及系统
US20160293272A1 (en) * 2015-04-01 2016-10-06 Qualcomm Incorporated Method and apparatus for optimized memory test status detection and debug
CN106095503A (zh) * 2016-06-13 2016-11-09 广东欧珀移动通信有限公司 智能终端的开机方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1504888A (zh) * 2002-12-03 2004-06-16 技嘉科技股份有限公司 基本输入输出系统检测及更新开机程序方法
CN102722378A (zh) * 2011-03-30 2012-10-10 比亚迪股份有限公司 一种非智能手机及升级其系统程序的方法
CN103455397A (zh) * 2013-09-06 2013-12-18 杭州华为数字技术有限公司 一种系统自检的方法、设备及系统
US20160293272A1 (en) * 2015-04-01 2016-10-06 Qualcomm Incorporated Method and apparatus for optimized memory test status detection and debug
CN106095503A (zh) * 2016-06-13 2016-11-09 广东欧珀移动通信有限公司 智能终端的开机方法和系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
武志飞: ""智能手机恢复模式下测试功能的设计与实现"", 《中国优秀硕士学位论文全文数据库信息科技辑》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112069009A (zh) * 2020-09-04 2020-12-11 广东小天才科技有限公司 一种在Recovery模式下进行压力测试的方法、装置和终端设备
CN112559240A (zh) * 2020-12-25 2021-03-26 龙芯中科(成都)技术有限公司 内存自适应调整的方法、装置、设备及可读存储介质

Also Published As

Publication number Publication date
CN109491825B (zh) 2022-08-23

Similar Documents

Publication Publication Date Title
US10914619B2 (en) Electronic device and hardware diagnosis result-based process execution method thereof
CN105593868B (zh) 一种指纹识别方法、装置及移动终端
US9064247B2 (en) User-configurable activation of card applets
US9848072B2 (en) Electronic device monitoring method and apparatus
US20130314336A1 (en) Methods of rhythm touch unlock and related electronic device
TWI689838B (zh) 服務調用方法及裝置
CN106657589A (zh) 一种多开应用中消息提醒方法、装置及移动终端
CN106650490B (zh) 云账号的登录方法及装置
CN106203038B (zh) 一种解锁方法及移动终端
CN109508522B (zh) 一种数据清除方法、装置、存储介质及终端
CN107861738A (zh) 应用异常处理方法、装置、存储介质及终端设备
CN109542744A (zh) 检测终端开机异常问题的方法、装置、存储介质及终端
CN106528158A (zh) 挂载存储卡的方法、装置及移动终端
CN109614267A (zh) 一种修复开机异常问题的方法、装置、存储介质及终端
CN107743164A (zh) 一种异常掉卡的处理方法及终端
CN110083527A (zh) 一种测试用例的生成方法及装置、电子设备
CN109491825A (zh) 一种定位开机异常问题的方法、装置、存储介质及终端
US20130328791A1 (en) Touch system inadvertent input elimination
CN106357667A (zh) 多开应用中分身应用的账号管理方法、装置及智能终端
CN110347548A (zh) 一种异常检测方法及装置、存储介质、电子设备
US20160070425A1 (en) Method and apparatus for index processing
CN106445670B (zh) 一种多开应用的数据管理方法、装置和移动终端
CN104536642B (zh) 解锁方法及装置
CN109634782A (zh) 一种系统健壮性的检测方法、装置、存储介质及终端
CN109981873B (zh) 一种通讯录权限开启方法、装置及电子设备

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant