一种BIOS错误定位方法、装置、设备及存储介质制造方法及图纸

技术编号:27620759 阅读:21 留言:0更新日期:2021-03-10 11:01
本发明专利技术公开了一种BIOS错误定位方法、装置、设备及存储介质。所述方法包括:获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;响应于BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。本发明专利技术的方案,实现了自动分析并记录导致EXCEPTION报错发生的函数,提高了EXCEPTION类型的错误解决效率,缩短BIOS错误定位时间。缩短BIOS错误定位时间。缩短BIOS错误定位时间。

【技术实现步骤摘要】
一种BIOS错误定位方法、装置、设备及存储介质


[0001]本专利技术涉及计算机
,尤其涉及一种BIOS错误定位方法、装置、设备及存储介质。

技术介绍

[0002]在服务器技术的快速发展的今天,对于服务器易用性、性能及功能的需求不断增强。对于基本输入输出系统(Basic Input Output System,以下简称BIOS)研发人员的处理能力,效率的要求也越来越高。在BIOS研发的过程中,会有着各种各样的ERROR/ASSERT/EXCEPTION等问题,需要BIOS研发人员去处理定位,解决问题。
[0003]目前,在BIOS解决问题的过程中,主要是通过Serial Log(串口日志)来帮助研发人员来分析定位问题。通常,当在BIOS运行过程中,出现了宕机问题的时候,可以通过BIOS的Serial Log来查看宕机的原因。当在Serial Log中出现ERROR/ASSERT/EXCEPTION等报错信息的时候,便意味着BIOS代码有了逻辑问题,需要研发人员定位,寻找原因,进行修复。目前,ERROR/ASSERT/EXCEPTION等报错信息都会自动记录在BIOS的Serial Log中,不同的是ERROR/ASSERT这两种报错,在被记录的同时,会同时记录导致该报错的具体函数,在记录中,该函数所在的C文件以及在C文件中的行号都会被清楚的记录下来。而对于EXCEPTION这种报错信息,却没有相应的机制。
[0004]究其根本原因是由于ERROR/ASSERT这两类报错,一定是由ERROR/ASSERT两类函数引发,而ERROR/ASSERT函数都是固定的,所以只需要在ERROR/ASSERT函数实现的时候,添加函数体被调用所在位置并打印即可。而EXCEPTION这类报错,由于出现的机制与之前的两类不同,所以并没有导致报错的函数、PROTOCOL等详细信息。这就使得,当EXCEPTION报错发生时,研发人员的定位工作变得十分繁琐,没有清晰的位置信息,极大的增加了定位问题、解决问题困难,错误定位效率极低。

技术实现思路

[0005]有鉴于此,有必要针对以上技术问题,提供能够快速定位并记录导致EXCEPTION报错原因的一种BIOS错误定位方法、装置、设备及存储介质。
[0006]根据本专利技术的第一方面,提供了一种BIOS错误定位方法,所述方法包:
[0007]获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;
[0008]对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;
[0009]响应于BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;
[0010]将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
[0011]在其中一个实施例中,所述执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数的步骤包括:
[0012]获取并解析EXCEPTION错误信息以得到路由信息协议值;
[0013]将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址;
[0014]根据所述路由信息协议值和预设PE规范确定目标入口地址和目标MAP文件;
[0015]利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证;
[0016]响应于所述目标MAP文件验证通过,则根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称。
[0017]在其中一个实施例中,所述将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址的步骤包括:
[0018]将所述基地址日志文件的基地址列数值中第一个大于所述路由信息协议值的基地址作为参考基地址;
[0019]获取所述基地址日志文件中所述参考基地址的前一个基地址作为所述目标基地址。
[0020]在其中一个实施例中,所述利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证的步骤包括:
[0021]计算所述目标入口地址与所述目标基地址的第一差值;
[0022]将所述第一差值与所述目标MAP文件中的入口地址偏移量进行匹配;
[0023]响应于所述目标MAP文件中存在与所述第一差值相同值,则确认所述目标MAP文件验证通过。
[0024]在其中一个实施例中,所述根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称的步骤包括:
[0025]计算所述路由信息协议值与所述目标基地址的第二差值;
[0026]将所述目标MAP文件的地址列数值中第一个大于所述第二差值的作为参考入口偏移地址;
[0027]将所述目标MAP文件中所述参考入口偏移地址的前一个入口偏移地址对应的函数作为所述目标函数,并读取目标函数对应的名称。
[0028]在其中一个实施例中,所述方法还包括:
[0029]响应于BIOS在执行过程中出现ERROR错误,和/或ASSERT错误,则记录导致错误的ERROR函数和/或ASSERT函数至串口日志。
[0030]在其中一个实施例中,所述方法还包括:
[0031]从BMC获取所述串口日志;
[0032]解析所述串口日志以分别确定导致EXCEPTION错误、ERROR错误,和/或ASSERT错误的函数。
[0033]根据本专利技术的第二方面,还提供了一种BIOS错误定位装置,所述装置包括:
[0034]MAP文件获取模块;用于获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;
[0035]基地址记录模块,用于对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;
[0036]目标函数确定模块,用于在BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述
EXCEPTION错误的目标函数;
[0037]串口日志处理模块,用于将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
[0038]根据本专利技术的第三方面,还提供了一种计算机设备,该计算机设备包括:
[0039]至少一个处理器;以及
[0040]存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的BIOS错误定位方法。
[0041]根据本专利技术的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的BIOS错误定位方法。
[0042]上述一种BIOS错误定位方法本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种BIOS错误定位方法,其特征在于,所述方法包括:获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;响应于BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。2.根据权利要求1所述的方法,其特征在于,所述执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数的步骤包括:获取并解析EXCEPTION错误信息以得到路由信息协议值;将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址;根据所述路由信息协议值和预设PE规范确定目标入口地址和目标MAP文件;利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证;响应于所述目标MAP文件验证通过,则根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称。3.根据权利要求2所述的方法,其特征在于,所述将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址的步骤包括:将所述基地址日志文件的基地址列数值中第一个大于所述路由信息协议值的基地址作为参考基地址;获取所述基地址日志文件中所述参考基地址的前一个基地址作为所述目标基地址。4.根据权利要求2所述的方法,其特征在于,所述利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证的步骤包括:计算所述目标入口地址与所述目标基地址的第一差值;将所述第一差值与所述目标MAP文件中的入口地址偏移量进行匹配;响应于所述目标MAP文件中存在与所述第一差值相同值,则确认所述目标MAP文件验证通过。5.根据权利要求2所述的方法,...

【专利技术属性】
技术研发人员:张宏博徐志远王兵杨少俊
申请(专利权)人:苏州浪潮智能科技有限公司
类型:发明
国别省市:

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

1