一种快速定位计算机设备机率性死机问题的方法与流程

文档序号:14940783发布日期:2018-07-13 20:41阅读:167来源:国知局

本发明涉及计算机技术领域,特别涉及一种快速定位计算机设备机率性死机问题的方法,尤其适用于笔记本、二合一等包含ec(embeddedcontroller,嵌入式控制器)的计算机设备。



背景技术:

计算机设备在开发阶段常常需要各种除错手段及工具来分析机率性死机的问题,当出现死机时就必须分析问题出现在哪里,首先需要定位的是死在bios(basicinputoutputsystem,基本输入输出系统)中还是操作系统中,然后才能继续分析。当前的通用做法为:在bios代码中的一些关键步骤中会将除错代码存在ioport80寄存器中,因此当出现死机现象时ioport80寄存器会记录最后一次的除错代码,从而确定死机的大体位置。基于此作法,传统分析方法是将分析小卡(一种可以将ioport80寄存器的数值显示在小卡上的治具)接在lpc(lowpincount)或minipcie接口上来跑相关测试,等出现死机问题时会将bios中最后一个除错代码显示在小卡中。

若采用传统方法对笔记本和二合一电脑进行测试,一般是将分析小卡接在原来的无线网卡的接口上,因此要接分析小卡就必须拆除无线网卡,从而就直接改变了测试条件的一致性,同时由于笔记本和二合一电脑内部空间都是很紧凑的,同时拆机壳也是比较麻烦,而且也会受分析小卡的数量、测试机台数量以及计算机设备内部结构的限制,因此传统的方式分析效率是比较低的。可见,传统的分析小卡仅比较适合台式机的测试,而对于笔记本、二合一电脑和平板电脑这种集成度高、内部空间狭小以及拆机不方便的机种则不适合。



技术实现要素:

本发明的目的是为了提出一种适用于笔记本、二合一电脑、平板电脑等包含ec的计算机设备的快速定位机率性死机问题的方法。

为解决上述技术问题,本发明采用以下技术方案:

一种快速定位计算机设备机率性死机问题的方法,包括如下步骤:

s100、嵌入式控制器的实时记录程序实时记录80端口的数据,当计算机设备出现死机时停止记录80端口的数据并保存80端口的数据,同时设置死机标识位,直到此标识位被清除再重新开始记录;

s200、当计算机设备死机后,先关机,然后再开机;

s300、计算机设备开机后,bios中的显示程序检测到嵌入式控制器设置的死机标识位时将上次死机时的除错代码显示出来并同时清除死机标识位。

在一些优选的实施方式中,在步骤s100之前包括:判断是否为工程模式,嵌入式控制器判断当前的工作模式是否为工程模式;若当前的工作模式为非工程模式则执行所述步骤s100;若当前的工作模式为工程模式则判断控制权是否在bios中,若控制权在bios中,在所述当计算机设备出现死机时停止记录80端口的数据之前执行判断80端口的数据是否有更新,若没有更新则判断为死机,若有更新则继续记录80端口的数据,若控制权不在bios中,则等待直到控制权在bios中。

在进一步优选的实施方式中,若当前的工作模式为非工程模式,在所述当计算机设备出现死机时停止记录80端口的数据之前执行检测是否接收到死机信号,若有则停止记录80端口的数据,若没有则实时记录80端口的数据。

在进一步优选的实施方式中,若当前的工作模式为工程模式,所述死机包括永久死机和短暂性死机,在所述执行判断80端口的数据是否有更新之前执行判断是否为验证模式,若不是验证模式则执行判断80端口的数据是否有更新,若是验证模式则读取短暂性死机时间范围,然后执行判断80端口的数据是否有更新,所述短暂性死机时间范围包括最小时间值和最大时间值。

在进一步优选的实施方式中,若是验证模式,所述判断80端口的数据是否有更新具体包括:将80端口的数据更新时间与短暂性死机时间范围比较,若80端口的数据更新时间大于所述最小时间值且小于所述最大时间值,则判断为短暂性死机;若80端口的数据更新时间大于所述最大时间值,则判断为永久死机。

在进一步优选的实施方式中,若不是验证模式,所述判断80端口的数据是否有更新具体包括:读取死机判定时间,若80端口的数据更新时间大于所述死机判定时间,则判断为死机,若80端口的数据更新时间小于所述死机判定时间,则判断为正常运作。

在进一步优选的实施方式中,若控制权在bios中,所述判断80端口的数据是否有更新具体包括:读取死机判定时间,若80端口的数据更新时间大于所述死机判定时间,则判断为死机,若80端口的数据更新时间小于所述死机判定时间,则判断为正常运作。

在进一步优选的实施方式中,所述死机判定时间的值大于60秒且小于600秒。

在进一步优选的实施方式中,所述最小时间值大于30秒且小于60秒,所述最大时间值大于240秒且小于600秒。

在另一方面,本发明还提供一种计算机可读存储介质:

一种计算机可读存储介质,其存储有与计算机设备结合使用的计算机程序,所述计算机程序被处理器执行以实现上述任一项方法。

与现有技术相比,本发明的有益效果有:

本发明通过将程序添加到计算机设备自带的bios和嵌入式控制器中,以此来定位计算机设备机率性死机问题,不需要借助外部治具,适用于笔记本、二合一电脑、平板电脑等包含嵌入式控制器的计算机设备。计算机设备一开机即可执行,因此不受时间、地域以及计算机设备数量的限制,只要死机问题出现,重新开机后,除错代码就会显示出来,可立即获得除错代码并进行分析,这样能够最大限度的提高效率。

在优选的实施例中,本发明还具有如下有益效果:

进一步地,提供了工程模式,在工程模式下,嵌入式控制器通过判断80端口的数据是否有更新可判断计算机设备是否为死机,随后完成后续动作,节省了等待的时间,提高进行工程测试时的效率。

进一步地,在非工程模式下,嵌入式控制器通过执行检测是否接收到死机信号来判断计算机设备是否出现死机,可防止误判。工程模式与非工程模式这两种模式的存在,提高了本发明的灵活性。

进一步地,提供了验证模式,根据短暂性死机时间范围来判断计算机设备是否为短暂性死机,将死机分为永久死机和短暂性死机,有利于死机问题的针对性处理,也提高定位机率性死机问题的精准度。

附图说明

图1为本发明的第一实施例的流程示意图;

图2为第一实施例的步骤s100实时记录数据的流程示意图;

图3为本发明的第二实施例的流程示意图;

图4为本发明的第三实施例的流程示意图;

图5为本发明的第四实施例的流程示意图。

具体实施方式

以下对本发明的实施方式作详细说明,其中,包含ec(embeddedcontroller,嵌入式控制器)的计算机设备以笔记本电脑为例。应该强调的是,下述说明仅仅是示例性的,而不是为了限制本发明的范围及其应用。

第一实施例

参考图1。本实施例的快速定位计算机设备机率性死机问题的方法具体如下:

s100、嵌入式控制器的实时记录程序实时记录80端口的数据,当笔记本电脑出现死机时停止记录80端口的数据并保存80端口的数据,同时设置死机标识位,直到此标识位被清除再重新开始记录。

参考图2,具体的,嵌入式控制器内置有实时记录程序,该程序用于实时记录当前80端口的值,此时的值临时保存在缓存区,缓存区可根据实际需要设置成保存最近的2到50次的数据或者更多的数据,在本实施例中,缓存区保存最近的30次的数据。笔记本电脑运行时,嵌入式控制器的实时记录程序实时记录80端口的数据,当笔记本电脑出现死机时停止记录80端口的数据并将缓存区的30次的数据保存到存储区。嵌入式控制器通过检测是否接收到死机信号来判断是否出现死机,具体而言,当一组设定的组合键被按下时,嵌入式控制器就接收到死机信号,判定此时笔记本电脑已经死机,停止记录80端口的数据并保存80端口的数据,设置死机标识位,直到此标识位被清除再重新开始记录以避免之前的死机状态仍被保存导致无法正常开机和保证继续实时记录数据,设定的组合键是键盘上的多个按键的组合。如果嵌入式控制器没有接收到死机信号,则继续记录80端口的数据,再检测是否接收到死机信号,如此循环。设置死机标识位后进入步骤s200。

s200、当笔记本电脑死机后,先关机,然后再开机。

s300、笔记本电脑开机后,bios中的显示程序检测到嵌入式控制器设置的死机标识位时将上次死机时的除错代码显示出来并同时清除死机标识位。

具体的,bios内置有显示程序,该程序判断实时记录程序中的死机标识位是否有置起,有则说明上一次有死机,然后在显示器上显示死机之前所保存的数据,也就是将死机时保存在存储区的除错代码显示出来,该除错代码由实时记录程序提供。在此步骤中,在显示器上显示死机之前的所保存的除错代码的同时,显示程序清除死机标识位,以便后续能正常开机以及保证实时记录程序可以继续运行。

根据上述可知,本发明通过将程序添加到计算机设备自带的bios和嵌入式控制器中,以此来定位计算机设备机率性死机问题,不需要借助外部治具,适用于笔记本、二合一电脑、平板电脑等包含嵌入式控制器的计算机设备。计算机设备一开机即可执行,因此不受时间、地域以及计算机设备数量的限制,只要死机问题出现,重新开机后,除错代码就会显示出来,可立即获得除错代码并进行分析,这样能够最大限度的提高效率。保存并显示2到50次的数据或者更多的数据,有助于后续根据多个数据综合分析死机问题,可防止误判。嵌入式控制器通过检测是否接收到死机信号来判断是否出现死机,当一组设定的组合键被按下时就会出现死机信号,这样的好处在于:当计算机设备的控制权在操作系统中时,计算机设备无论是正常运行还是出现死机,80端口的数据长时间不会变化,嵌入式控制器若接收到死机信号,即设定的组合键被按下,则表明在操作系统中出现了死机,如此便可将计算机设备的正常运行与死机区分,可避免将计算机设备在操作系统中正常运行误判为死机。

第二实施例

参考图3。本实施例与第一实施例的区别在于,在步骤s100之前包括步骤s01判断是否为工程模式。

s01、判断是否为工程模式,嵌入式控制器判断当前的工作模式是否为工程模式。若当前的工作模式为非工程模式则执行步骤s100,也即按第一实施例的步骤继续运行;若当前的工作模式为工程模式则执行步骤s011判断控制权是否在bios中,若控制权在bios中,在当笔记本电脑出现死机时停止记录80端口的数据之前执行判断80端口的数据是否有更新,若没有更新则判断为出现死机,若有更新则继续记录80端口的数据,若控制权不在bios中,则等待直到控制权在bios中。

在步骤s01中,判断80端口的数据是否有更新具体包括:读取死机判定时间,若80端口的数据更新时间大于死机判定时间,则判断为死机,表明没有更新;若80端口的数据更新时间小于死机判定时间,则判断为正常运作,表明有更新;80端口的数据更新时间具体是指从一个代码变化到另外一个代码所花的时间,或者是指最近的一个代码出现之后距离当前的时间。死机判定时间的值大于60秒且小于600秒,这样的判定时间既可以防止误判,还可以减少等待的时间,提高效率,比如,不同的计算机设备的计算处理能力有快有慢,控制权在bios中时80端口的数据更新时间也就有快和慢,如果计算机设备正常运行,60秒之内即可完成更新,而小于600秒的上限也不会等待太久。

根据上述可知,本实施例也具有第一实施例的有益效果。此外,提供了工程模式,在工程模式下,嵌入式控制器通过判断80端口的数据是否有更新可判断计算机设备是否为死机,随后完成后续动作,节省了等待的时间,提高进行工程测试时的效率,特别适用于在流水线上对大量的计算机设备进行测试。在非工程模式下,嵌入式控制器通过执行检测是否接收到死机信号来判断计算机设备是否出现死机,可将计算机设备的正常运行与死机区分,防止误判。工程模式与非工程模式这两种模式的存在,提高了本发明的灵活性。

第三实施例

参考图4。本实施例与第二实施例的区别在于,在工程模式下,死机包括永久死机和短暂性死机,在执行判断80端口的数据是否有更新之前执行步骤s012判断是否为验证模式。若不是验证模式则执行判断80端口的数据是否有更新,也即按第二实施例的步骤继续运行。若是验证模式则读取短暂性死机时间范围,然后执行判断80端口的数据是否有更新,短暂性死机时间范围包括最小时间值和最大时间值,最小时间值为下限,最大时间值为上限。最小时间值和最大时间值均可设置和改变,最小时间值优选设置为大于30秒且小于60秒,最大时间值优选设置为大于240秒且小于600秒,本发明不限于此。在验证模式下,判断80端口的数据是否有更新具体为将80端口的数据更新时间与短暂性死机时间范围比较:若80端口的数据更新时间大于最小时间值且小于最大时间值,则判断为短暂性死机,此时,嵌入式控制器停止记录80端口的数据,并且设置死机标识位,笔记本电脑重新开机后,显示器会将短暂性死机的除错代码显示出来;若80端口的数据更新时间大于最大时间值,则判断为永久死机,此时,嵌入式控制器停止记录80端口的数据,并且设置死机标识位,笔记本电脑重新开机后,显示器会将永久死机的除错代码显示出来。

根据上述可知,本实施例也具有第二实施例的有益效果。此外,提供了验证模式,根据短暂性死机时间范围来判断计算机设备是否为短暂性死机,将死机分为永久死机和短暂性死机,有利于死机问题的针对性处理,也提高定位机率性死机问题的精准度,有助于全面分析死机问题。

第四实施例

参考图5,本实施例与第三实施例的区别在于,判断为短暂性死机后执行判断是否达到规定记录短暂性死机的次数,记录短暂性死机的次数可设置,在本实施例中为两次。若已达到规定记录短暂性死机的次数,嵌入式控制器停止记录80端口的数据并保存80端口的数据,然后执行步骤200和步骤300;若没达到规定记录短暂性死机的次数,则保存80端口的数据,设置短暂性死机标识位,然后执行将80端口的数据更新时间与短暂性死机时间范围比较:若80端口的数据更新时间大于最小时间值且小于最大时间值,则判断为短暂性死机;若80端口的数据更新时间大于最大时间值,则判断为永久死机。

在本实施例的步骤300中,笔记本电脑重新开机后,显示器会将死机的除错代码显示出来,此时的除错代码包括短暂性死机的除错代码和永久死机的除错代码。如此,可显示多次短暂性死机的除错代码或者多次短暂性死机和永久死机的除错代码,对死机问题的定位更加全面,有助于全面消除死机问题。

当出现了n次的短暂性死机时,嵌入式控制器会将n次短暂性死机的除错代码分别保存在不同的存储区上,同样,对于出现了短暂性死机之后又出现永久死机,嵌入式控制器也会将短暂性死机和永久死机的除错代码保存在不同的存储区上。

根据上述可知,本实施例也具有第三实施例的有益效果。

以上内容是结合具体/优选的实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,其还可以对这些已描述的实施方式做出若干替代或变型,而这些替代或变型方式都应当视为属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1