一种错误信息处理方法、装置及存储介质制造方法及图纸

技术编号:30433432 阅读:11 留言:0更新日期:2021-10-24 17:29
本申请公开了一种错误信息处理方法、装置及存储介质。该方法在内存错误触发系统中断(例如MCE中断)后,会收集所述内存错误的错误信息,包括出现内存错误的内存区域;之后在需要写入日志信息时,会增加以下操作以避免因为相同的内存错误再次触发系统中断:获取用于写入日志信息的内存区域,判断该内存区域是否包出现内存错误的内存区域,若是,则跳过将日志信息写入该内存区域的步骤。如此,就不会在将日志信息写入出现内存错误的内存区域时又再次触发系统中断,从而避免了因不断产生中断而导致的系统宕机。导致的系统宕机。导致的系统宕机。

【技术实现步骤摘要】
一种错误信息处理方法、装置及存储介质


[0001]本申请涉及计算机信息处理领域,尤其涉及一种错误信息处理方法、装置及存储介质。

技术介绍

[0002]在系统引导程序启动过程中,会对计算机硬件进行检测,当某些区域的内存出现严重错误(fatal error)时,后续操作仍会访问已经发生fatal error的内存,从而不断产生中断,最终导致系统宕机。

技术实现思路

[0003]本申请人创造性地提供一种错误信息处理方法、装置及存储介质。
[0004]根据本申请实施例第一方面,提供一种错误信息处理方法,该方法包括在内存错误触发第一中断的情况下,执行以下操作:收集内存错误的错误信息,错误信息包括出现内存错误的第一内存区域;获取用于写入日志信息的第二内存区域,判断第二内存区域是否包含第一内存区域,若是,则跳过将日志信息写入第二内存区域的步骤。
[0005]根据本申请一实施例,在收集内存错误的错误信息之前,该方法还包括:在内存错误触发第一中断的情况下,记录内存错误的错误信息。
[0006]根据本申请一实施例,获取用于写入日志信息的第二内存区域,包括:从错误记录序列化表中定义的系统内存获取用于写入日志信息的第二内存区域。
[0007]根据本申请一实施例,在跳过将日志信息写入第二内存区域的步骤之后,该方法还包括:将日志信息写入第二内存区域的备用内存区域。
[0008]根据本申请一实施例,在将日志信息写入第一内存区域的备用内存区域之前,该方法还包括:在系统初始化时,预留第三内存区域作为第二内存区域的备用内存区域。
[0009]根据本申请一实施例,该方法还包括:获取用于处理第一中断的第一处理程序需要使用的第四内存区域,判断第四内存区域是否包含第一内存区域,若是,则将第一内存区域标记为不可用。
[0010]根据本申请一实施例,在将第一内存区域标记为不可用之后,该方法还包括:获取不包含第一内存区域的第五内存区域;将第五内存区域分配给第一处理程序使用。
[0011]根据本申请一实施例,第一处理程序包崩溃内核程序,相应地,第一内存区域标记为不可用,包括:修改内核崩溃转储工具提供给崩溃内核程序的系统内存映射表,将系统内存映射表中的第一内存区域标记为不可用。
[0012]根据本申请实施例第二方面,提供一种错误信息处理装置,该装置包括:错误信息收集模块,用于收集内存错误的错误信息,错误信息包括出现内存错误的第一内存区域;日志信息写入模块,用于获取用于写入日志信息的第二内存区域,判断第二内存区域是否包含第一内存区域,若是,则跳过将日志信息写入第二内存区域的步骤。
[0013]根据本申请实施例第三方面,提供一种计算机可读存储介质,存储介质包括一组
计算机可执行指令,当指令被执行时用于执行上述任一项的错误信息处理方法。
[0014]本申请实施例提供一种错误信息处理方法、装置及存储介质,该方法在内存错误触发系统中断(例如MCE中断)后,会收集内存错误的错误信息,包括出现内存错误的内存区域;之后在需要写入日志信息时,会增加以下操作以避免因为相同的内存错误再次触发系统中断:获取用于写入日志信息的内存区域,判断该内存区域是否包出现内存错误的内存区域,若是,则跳过将日志信息写入该内存区域的步骤。如此,就不会在将日志信息写入出现内存错误的内存区域时又再次触发系统中断,从而避免了因不断产生中断而导致的系统宕机。
[0015]需要理解的是,本申请的实施并不需要实现上面的全部有益效果,而是特定的技术方案可以实现特定的技术效果,并且本申请的其他实施方式还能够实现上面未提到的有益效果。
附图说明
[0016]通过参考附图阅读下文的详细描述,本申请示例性实施方式的上述以及其他目的、特征和优点将变得易于理解。在附图中,以示例性而非限制性的方式示出了本申请的若干实施方式,其中:
[0017]在附图中,相同或对应的标号表示相同或对应的部分。
[0018]图1为本申请错误信息处理方法一实施例的实现流程示意图;
[0019]图2为本申请错误信息处理方法另一实施例的实现流程示意图;
[0020]图3为本申请错误信息处理装置一实施例的组成结构示意图。
具体实施方式
[0021]为使本申请的目的、特征、优点能够更加的明显和易懂,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而非全部实施例。基于本申请中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0022]在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施例或示例中。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
[0023]此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或隐含地包括至少一个该特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
[0024]图1示出了本申请错误信息处理方法一实施例的实现流程。参考图1,该方法包括在内存错误触发第一中断的情况下,执行以下操作:操作S110,收集内存错误的错误信息,错误信息包括出现内存错误的第一内存区域;操作S120,获取用于写入日志信息的第二内
存区域,判断第二内存区域是否包含第一内存区域,若是,则跳过将日志信息写入第二内存区域的步骤。
[0025]其中,第一中断主要指内存错误触发的操作系统中断,而本申请错误信息处理方法也主要是由操作系统来执行的。
[0026]进一步地,本申请错误信息处理方法通常是由操作系统中与第一中断对应的中断处理程序来执行。例如,假设第一中断是机器检测异常(Machine Check Exception,MCE)中断,则本申请错误信息处理方法则是通过与MCE中断对应的MCE中断处理程序来执行的。
[0027]在操作S110中,内存错误的错误信息通常是在触发第一中断的情况下,由固件(Firmware)通过中断处理器(Interrupt Handler)等工具从相关的CPU寄存器中取到并放入与第一中断对应的寄存器中的,例如,MCE寄存器(MCE bank)中的。其中,常用的固件包括:统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI),或基本输入输出系统(Basic Input Output System,BIOS)等。
[0028]如此,当操作系统本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种错误信息处理方法,所述方法包括在内存错误触发第一中断的情况下,执行以下操作:收集所述内存错误的错误信息,所述错误信息包括出现所述内存错误的第一内存区域;获取用于写入日志信息的第二内存区域,判断所述第二内存区域是否包含所述第一内存区域,若是,则跳过将日志信息写入所述第二内存区域的步骤。2.根据权利要求1所述的方法,在所述收集所述内存错误的错误信息之前,所述方法还包括:在内存错误触发第一中断的情况下,记录所述内存错误的错误信息。3.根据权利要求1所述的方法,所述获取用于写入日志信息的第二内存区域,包括:从错误记录序列化表中定义的系统内存获取用于写入日志信息的第二内存区域。4.根据权利要求1所述的方法,在所述跳过将日志信息写入所述第二内存区域的步骤之后,所述方法还包括:将所述日志信息写入所述第二内存区域的备用内存区域。5.根据权利要求4所述的方法,在所述将所述日志信息写入所述第一内存区域的备用内存区域之前,所述方法还包括:在系统初始化时,预留第三内存区域作为所述第二内存区域的备用内存区域。6.根据权利要求1所述的方法,所述方法还包括:获取用于处理所述...

【专利技术属性】
技术研发人员:李小春
申请(专利权)人:联想北京有限公司
类型:发明
国别省市:

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

1