异常信息存储方法及装置、电子设备、存储介质制造方法及图纸

技术编号:24330864 阅读:53 留言:0更新日期:2020-05-29 19:33
本申请提供一种异常信息存储方法及装置、电子设备、存储介质;该方法应用于电子设备,该方法可以包括:监测CPU的运行状态;在确定CPU发生异常的情况下,获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,并根据获取到的位置信息从内存中读取所述上一状态信息;将所述上一状态信息与所述当前状态信息作为所述CPU的异常信息,并保存到预分配的存储空间中。由上述方案可知,本申请能够在CPU发生异常的情况下,记录该CPU的当前状态信息和上一状态信息,并保存至预分配的存储空间中,使得后续维护人员能够根据存储空间中的异常信息对CPU发生异常得原因进行分析。

【技术实现步骤摘要】
异常信息存储方法及装置、电子设备、存储介质
本申请涉及网络通信领域,特别涉及一种异常信息存储方法及装置、电子设备、存储介质。
技术介绍
为了满足不断增长的用户需求,开发人员在同一台网络设备中配置的应用程序也随之增加,这使得网络设备需要同时处理大量业务,对网络设备的性能也有了更高的要求。为此,网络设备的软件和硬件都被设计得较为复杂。基于上述原因,网络设备在运行的过程中变得较为不稳定,甚至出现死机等异常状况。为了帮助维护人员对异常状况做相应的处理,记录设备在发生异常时的状态信息以便维护人员分析发生异常的原因变得尤为重要。
技术实现思路
有鉴于此,本申请提供一种异常信息存储方法及装置、电子设备、存储介质,能够在设备发生异常的情况下,获取并存储CPU和内存中保存的CPU状态信息,以便维护人员基于保存的CPU状态信息分析发生异常的原因。为实现上述目的,本申请提供技术方案如下:根据本申请的第一方面,提出了一种异常信息存储方法,应用于电子设备,所述方法包括:监测CPU的运行状态;在确定CPU发生异常的情况下,获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,并根据获取到的位置信息从内存中读取所述上一状态信息;将所述上一状态信息与所述当前状态信息作为所述CPU的异常信息,并保存到预分配的存储空间中。根据本申请的第二方面,提出了一种异常信息存储装置,应用于电子设备,所述装置包括:监测单元,监测CPU的运行状态;获取单元,在确定CPU发生异常的情况下,获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,并根据获取到的位置信息从内存中读取所述上一状态信息;存储单元,将所述上一状态信息与所述当前状态信息作为所述CPU的异常信息,并保存到预分配的存储空间中。根据本申请的第三方面,提供一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器通过运行所述可执行指令以实现如上述实施例中任一所述的方法。根据本申请的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述实施例中任一所述方法的步骤。在本申请的技术方案中,在CPU发生异常的情况下,将CPU的当前状态信息和上一状态信息作为该CPU的异常信息保存至预分配的存储空间中,使得维护人员可以基于保存的异常信息分析发生本次异常的原因,进而更加准确地进行维护工作。进一步的,本申请优先从CPU中获取上一状态信息的位置信息,再根据该位置信息从内存中获取上一状态信息,使得本申请在获取上一状态信息的过程中,不会获取内存中的其他信息。换言之,本申请保存至预设存储空间的信息均为CPU的状态信息,减少了无效信息对存储空间的占用。附图说明图1是本申请一示例性实施例示出的一种异常信息存储方法的流程图。图2是本申请一示例性实施例示出的一种应用于单CPU电子设备的异常信息存储方法的流程图。图3是本申请一示例性实施例示出的一种应用于多CPU电子设备的异常信息存储方法的流程图。图4是本申请一示例性实施例示出的一种电子设备的结构示意图。图5是本申请一示例性实施例示出的一种异常信息存储装置的框图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。为解决上述技术问题,本申请提出了一种异常信息存储方法。参考图1,图1是本申请一示例性实施例示出的一种异常信息存储方法的流程图。如图1所示,该方法应用于电子设备,该方法可以包括以下步骤:步骤102,监测CPU的运行状态。在相关技术中,在CPU发生异常时,并不会针对性地获取CPU的状态信息,而是会获取CPU和内存中保存的所有信息。这样的方式使得设备中保存了大量的无效信息,且需要预分配大量的存储空间用于保存获取到的信息。其次,由于设备通常需要先将获取到的信息缓存至内存中,因此需要预分配大量内存空间用于缓存获取到的信息,这使得设备在正常运行中能够使用的内存空间变得极为有限,限制了设备的性能。在本实施例中,电子设备可以为嵌入式设备,也可以为非嵌入式设备。其中,嵌入式设备可以为:智能门锁、扫地机器人等;非嵌入式设备可以为手机、平板、PC等。步骤104,在确定CPU发生异常的情况下,获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,并根据获取到的位置信息从内存中读取所述上一状态信息。在本实施例中,在CPU发生异常的情况下,获取CPU的当前状态信息和上一状态信息的操作可以由CPU中独立的内核执行。通过这样的方式,使得获取状态信息的过程不会受到CPU异常的影响。当然,后续存储获取到的状态信息的操作也可以由该内核执行,使得存储的过程也步骤CPU异常的影响。在实际情况中,CPU的当前状态信息通常保存在CPU的状态寄存器中,而CPU的上一状态信息的位置信息通常保存在CPU的通用寄存器中。因此,在本步骤中,获取CPU的当前状态信息和上一状态信息的位置信息的过程可以包括:从CPU的状态寄存器中获取当前状态信息,以及从CPU的通用寄存器中获取上一状态信息的位置信息。为了实现上述操作,可以在电子设备系统启动时,在内存中注册一个用于异常状况处理的回调函数,该回调函数在CPU发生异常时被调用。具体的,当CPU发生异常时,CPU(可以为上述CPU中用于处理异常状况的内核)执行该回调函数,从状态寄存器中获取CPU的当前状况信息、从通用寄存器中获取上一状态信息的位置信息,再通过获得的位置信息从内存中获取上一状态信息。具体的,可以通过执行该回调函数从通用寄存器中获取栈信息的起始位置和终止位置,并根据获取到的起始位置和终止位置从内存中确定出栈信息的位置,该栈信息中保存的信息即为CPU的上一状态信息。通过这样的方式,获取到的异常信息即为CPU的当前状态信息和上一状态信息,而不会获取内存中的其他信息。可见,本文档来自技高网...

【技术保护点】
1.一种异常信息存储方法,其特征在于,应用于电子设备,所述方法包括:/n监测CPU的运行状态;/n在确定CPU发生异常的情况下,获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,并根据获取到的位置信息从内存中读取所述上一状态信息;/n将所述上一状态信息与所述当前状态信息作为所述CPU的异常信息,并保存到预分配的存储空间中。/n

【技术特征摘要】
1.一种异常信息存储方法,其特征在于,应用于电子设备,所述方法包括:
监测CPU的运行状态;
在确定CPU发生异常的情况下,获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,并根据获取到的位置信息从内存中读取所述上一状态信息;
将所述上一状态信息与所述当前状态信息作为所述CPU的异常信息,并保存到预分配的存储空间中。


2.根据权利要求1所述的方法,其特征在于,所述获取保存在所述CPU中的当前状态信息和上一状态信息的位置信息,包括:
从所述CPU的状态寄存器中获取当前状态信息;
从所述CPU的通用寄存器中获取上一状态信息的位置信息。


3.根据权利要求1所述的方法,其特征在于,所述电子设备包含多个CPU,所述方法还包括:
向发生异常的CPU以外的其他CPU发起中断;
获取其他CPU的上一状态信息与所述其他CPU的当前状态信息作为所述发生异常的CPU的辅助信息;其中,所述辅助信息与所述异常信息在所述预分配的存储空间中关联存储。


4.根据权利要求3所述的方法,其特征在于,关联存储所述辅助信息和所述异常信息,包括:
分别将所述辅助信息和所述异常信息存储至内存中预先分配给各个CPU的缓冲队列中;
将缓存在所述内存中的异常信息和辅助信息保存至非易失性存储介质中,以用于对所述目标CPU进行异常分析。


5.根据权利要求4所述的方法,其特征在于,所述预先...

【专利技术属性】
技术研发人员:曲博
申请(专利权)人:杭州迪普科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1