CN112463431A - 一种bios错误定位方法、装置、设备及存储介质 - Google Patents

一种bios错误定位方法、装置、设备及存储介质 Download PDF

Info

Publication number
CN112463431A
CN112463431A CN202011447497.3A CN202011447497A CN112463431A CN 112463431 A CN112463431 A CN 112463431A CN 202011447497 A CN202011447497 A CN 202011447497A CN 112463431 A CN112463431 A CN 112463431A
Authority
CN
China
Prior art keywords
target
base address
error
function
bios
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
CN202011447497.3A
Other languages
English (en)
Other versions
CN112463431B (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.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co 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 Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202011447497.3A priority Critical patent/CN112463431B/zh
Publication of CN112463431A publication Critical patent/CN112463431A/zh
Priority to US18/256,806 priority patent/US20230393926A1/en
Priority to PCT/CN2021/127324 priority patent/WO2022121548A1/zh
Application granted granted Critical
Publication of CN112463431B publication Critical patent/CN112463431B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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
    • 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/0706Error 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 the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0745Error 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 the processing taking place on a specific hardware platform or in a specific software environment in an input/output transactions management context
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Abstract

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

Description

一种BIOS错误定位方法、装置、设备及存储介质
技术领域
本发明涉及计算机技术领域,尤其涉及一种BIOS错误定位方法、装置、设备及存储介质。
背景技术
在服务器技术的快速发展的今天,对于服务器易用性、性能及功能的需求不断增强。对于基本输入输出系统(Basic Input Output System,以下简称BIOS)研发人员的处理能力,效率的要求也越来越高。在BIOS研发的过程中,会有着各种各样的ERROR/ASSERT/EXCEPTION等问题,需要BIOS研发人员去处理定位,解决问题。
目前,在BIOS解决问题的过程中,主要是通过Serial Log(串口日志)来帮助研发人员来分析定位问题。通常,当在BIOS运行过程中,出现了宕机问题的时候,可以通过BIOS的Serial Log来查看宕机的原因。当在Serial Log中出现ERROR/ASSERT/EXCEPTION等报错信息的时候,便意味着BIOS代码有了逻辑问题,需要研发人员定位,寻找原因,进行修复。目前,ERROR/ASSERT/EXCEPTION等报错信息都会自动记录在BIOS的Serial Log中,不同的是ERROR/ASSERT这两种报错,在被记录的同时,会同时记录导致该报错的具体函数,在记录中,该函数所在的C文件以及在C文件中的行号都会被清楚的记录下来。而对于EXCEPTION这种报错信息,却没有相应的机制。
究其根本原因是由于ERROR/ASSERT这两类报错,一定是由ERROR/ASSERT两类函数引发,而ERROR/ASSERT函数都是固定的,所以只需要在ERROR/ASSERT函数实现的时候,添加函数体被调用所在位置并打印即可。而EXCEPTION这类报错,由于出现的机制与之前的两类不同,所以并没有导致报错的函数、PROTOCOL等详细信息。这就使得,当EXCEPTION报错发生时,研发人员的定位工作变得十分繁琐,没有清晰的位置信息,极大的增加了定位问题、解决问题困难,错误定位效率极低。
发明内容
有鉴于此,有必要针对以上技术问题,提供能够快速定位并记录导致EXCEPTION报错原因的一种BIOS错误定位方法、装置、设备及存储介质。
根据本发明的第一方面,提供了一种BIOS错误定位方法,所述方法包:
获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;
对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;
响应于BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;
将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
在其中一个实施例中,所述执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数的步骤包括:
获取并解析EXCEPTION错误信息以得到路由信息协议值;
将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址;
根据所述路由信息协议值和预设PE规范确定目标入口地址和目标MAP文件;
利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证;
响应于所述目标MAP文件验证通过,则根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称。
在其中一个实施例中,所述将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址的步骤包括:
将所述基地址日志文件的基地址列数值中第一个大于所述路由信息协议值的基地址作为参考基地址;
获取所述基地址日志文件中所述参考基地址的前一个基地址作为所述目标基地址。
在其中一个实施例中,所述利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证的步骤包括:
计算所述目标入口地址与所述目标基地址的第一差值;
将所述第一差值与所述目标MAP文件中的入口地址偏移量进行匹配;
响应于所述目标MAP文件中存在与所述第一差值相同值,则确认所述目标MAP文件验证通过。
在其中一个实施例中,所述根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称的步骤包括:
计算所述路由信息协议值与所述目标基地址的第二差值;
将所述目标MAP文件的地址列数值中第一个大于所述第二差值的作为参考入口偏移地址;
将所述目标MAP文件中所述参考入口偏移地址的前一个入口偏移地址对应的函数作为所述目标函数,并读取目标函数对应的名称。
在其中一个实施例中,所述方法还包括:
响应于BIOS在执行过程中出现ERROR错误,和/或ASSERT错误,则记录导致错误的ERROR函数和/或ASSERT函数至串口日志。
在其中一个实施例中,所述方法还包括:
从BMC获取所述串口日志;
解析所述串口日志以分别确定导致EXCEPTION错误、ERROR错误,和/或ASSERT错误的函数。
根据本发明的第二方面,还提供了一种BIOS错误定位装置,所述装置包括:
MAP文件获取模块;用于获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;
基地址记录模块,用于对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;
目标函数确定模块,用于在BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;
串口日志处理模块,用于将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
根据本发明的第三方面,还提供了一种计算机设备,该计算机设备包括:
至少一个处理器;以及
存储器,存储器存储有可在处理器上运行的计算机程序,处理器执行程序时执行前述的BIOS错误定位方法。
根据本发明的第四方面,还提供了一种计算机可读存储介质,计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时执行前述的BIOS错误定位方法。
上述一种BIOS错误定位方法,通过获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件,并对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件,从而在发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数,以及将该目标函数的名称记录到串口日志中发送至BMC,实现了自动分析并记录导致EXCEPTION报错发生的函数,提高了EXCEPTION类型的错误解决效率,提高效率,缩短BIOS错误定位时间。
此外,本发明还提供了一种BIOS错误定位装置、一种计算机设备和一种计算机可读存储介质,同样能实现上述技术效果,这里不再赘述。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明一个实施例提供的一种BIOS错误定位方法的流程示意图;
图2为本发明另一个实施例提供的BIOS错误定位方法实施整体流程图;
图3为本发明又一个实施例提供的执行Exception处理函数确定目标函数的流程示意图;
图4a为本发明另一个实施例提供的基地址日志文件IB.log的文件内容示意图;
图4b为本发明另一个实施例提供某一EXCEPTION错误信息的内日示意图;
图4c为本发明另一个实施欧力提供的某一MAP文件内容的示意图;
图5为本发明另一个实施例提供的一种BIOS错误定位装置的结构示意图;
图6为本发明另一个实施例中算机设备的内部结构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
在一个实施例中,请参照图1所示,本发明提供了一种BIOS错误定位方法,所述方法包括:
S100,获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;其中,MAP文件是文件格式的一种,MAP文件是编译软件编译后产生的有关DSP用到所有程序、数据及IO空间的一种映射文件。入口地址记作EntryPoint,是指函数模块执行时在内存中的地址。
S200,对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;其中,基地址即ImageBase,是代码加载进内存的地址,BIOS启动时将执行的每一个模块的ImageBase及其大小都记录一个专门的log(日志)文件之中例如该文件名为IB.log;
S300,响应于BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;
S400,将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
上述一种BIOS错误定位方法,通过获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件,并对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件,从而在发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数,以及将该目标函数的名称记录到串口日志中发送至BMC,实现了自动分析并记录导致EXCEPTION报错发生的函数,提高EXCEPTION类型的错误解决效率,缩短BIOS错误定位时间。
在另一实施例中,上述步骤S300具体包括以下子步骤:
S310,获取并解析EXCEPTION错误信息以得到路由信息协议值;其中路由信息协议值记作RIP值(Routing Information Protocol,路由信息协议)。
S320,将所述路由信息协议值与所述基地址日志文件中的基地址列数值进行对比对以确定目标基地址;
S330,根据所述路由信息协议值和预设PE规范确定目标入口地址和目标MAP文件;其中PE是指Portable Executable(即便携式可执行文件),微软采用的可执行格式,预设PE规范是指《Microsoft PE COFF Specification》,预设PE规范中对于PE Image的设定可通过已有的函数解析PE Image,从而找到函数模块的EntryPoint和此PE image对应的MAP文件名。
S340,利用所述目标基地址和所述目标入口地址对所述目标MAP文件进行验证;
S350,响应于所述目标MAP文件验证通过,则根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称。
在另一个实施例中,前述步骤S320具体包括以下子步骤:
S321,将所述基地址日志文件的基地址列数值中第一个大于所述路由信息协议值的基地址作为参考基地址;
S322,获取所述基地址日志文件中所述参考基地址的前一个基地址作为所述目标基地址。
在又一个实施例中,前述步骤S340具体包括以下子步骤:
S341,计算所述目标入口地址与所述目标基地址的第一差值;
S342,将所述第一差值与所述目标MAP文件中的入口地址偏移量进行匹配;
S343,响应于所述目标MAP文件中存在与所述第一差值相同值,则确认所述目标MAP文件验证通过。
在又一个实施例中,前述步骤S350具体包括以下子步骤:
S351,计算所述路由信息协议值与所述目标基地址的第二差值;
S352,将所述目标MAP文件的地址列数值中第一个大于所述第二差值的作为参考入口偏移地址;
S353,将所述目标MAP文件中所述参考入口偏移地址的前一个入口偏移地址对应的函数作为所述目标函数,并读取目标函数对应的名称。
在另一个实施例中,所述方法还包括:
S510,响应于BIOS在执行过程中出现ERROR错误,和/或ASSERT错误,则记录导致错误的ERROR函数和/或ASSERT函数至串口日志。
优选地,所述方法还包括:
S520,从BMC获取所述串口日志;
S530,解析所述串口日志以分别确定导致EXCEPTION错误、ERROR错误,和/或ASSERT错误的函数。
在又一个实施例中,下面以Intel平台的服务器架构为例进行说明,但该方法不限于Intel平台的服务器,也不仅限于服务器系统,在其它平台的服务器系统或者其他计算机系统上仍然具有通用的应用价值,请参照图2和图3所示,该一种BIOS错误定位方法的具体实施步骤如下:
步骤1,在BIOS编译过程中生成的,记录着每一个函数相对于本模块入口位置的MAP文件全都收集起来,并存储至BMC。
步骤2,BIOS启动时将执行的每一个模块的基地址及其大小都记录基地址日志文件中(一个专门的log文件之中即,该文件名为IB.log);例如请参照图4a所示,IB.log文件从左至右分别为:序号、基地址、模块大小(Size)、模块名称。
步骤3,判断当BIOS在执行过程中发生Exception时,执行Exception处理函数;具体执行Exception处理函数的步骤如下:
步骤31,在BIOS发生宕机问题后,判断宕机原因是否为发生EXCEPTION错误;
步骤32,当错误为EXCEPTION时解析EXCEPTION错误信息,将EXCEPTION错误信息中的RIP值存至A;例如图4b示出了EXCEPTION错误信息,其中包括该错误对应的RIP值。
步骤33,将RIP值(即A值)与位于IB.log文件中的ImageBase列中数值一一对比,找出第一个大于RIP值,并将该值的前一个值作为目标基地址存储至B;
步骤34,根据RIP值通过《Microsoft PE COFF Specification》中对于PE Image的设定,可通过已有的函数解析PE Image,从而找到函数模块的目标入口地址和此PE image对应的目标MAP文件名,将目标入口地址值存储至C。
步骤35,打开步骤34中找到的目标MAP文件,根据目标入口地址值C-目标基地址B即计算出EntryPoint相对于ImageBase的偏移地址记为第一差值D,将第一差值D和目标Map文件中EntryPoint偏移量相对比,若目标MAP文件中存在和第一差值相同的值,则证明步骤34中找到的目标MAP文件正确,可进行下一步;具体的请参照图4c示出的某一MAP文件的内容。
步骤36,计算RIP值-目标基地址B的偏移值记作第二差值并存储至E,在目标Map文件中的地址(Address)列找寻第一个大于第二差值E的值,该值的前一个值所对应的函数,即使导致EXCEPTION错误发生的函数;
步骤37,将函数名称记录至Serial Log,并给BMC发送宕机信息
步骤4,将步骤31-步骤37的执行结果记录至BIOS的Serial Log之中;
步骤5,将Serial Log发送至BMC存储下来;
步骤6,通过BMC提取Serial Log进行问题分析。
上述一种BIOS错误定位方法通过对EXCEPTION这类报错,通过已有的RIP信息,与BIOS执行过程中记录的MAP信息相结合,定位并记录导致EXCEPTION报错发生的函数,实现自动的分析定位,提高了EXCEPTION类型的错误解决效率,缩短BIOS错误定位时间。
在又一个实施例中,请参照图5所述,本发明提供了一种BIOS错误定位装置60,所述装置包括:
MAP文件获取模块61;用于获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;
基地址记录模块62,用于对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;
目标函数确定模块63,用于在BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;
串口日志处理模块64,用于将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
需要说明的是,关于BIOS错误定位装置的具体限定可以参见上文中对BIOS错误定位方法的限定,在此不再赘述。上述BIOS错误定位装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
根据本发明的另一方面,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图请参照图6所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时实现以上所述的BIOS错误定位方法。
根据本发明的又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以上所述的BIOS错误定位方法。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

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所述的方法,其特征在于,所述根据所述路由信息协议值、所述目标基地址以及所述目标MAP文件确定所述目标函数和目标函数对应的名称的步骤包括:
计算所述路由信息协议值与所述目标基地址的第二差值;
将所述目标MAP文件的地址列数值中第一个大于所述第二差值的作为参考入口偏移地址;
将所述目标MAP文件中所述参考入口偏移地址的前一个入口偏移地址对应的函数作为所述目标函数,并读取目标函数对应的名称。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于BIOS在执行过程中出现ERROR错误,和/或ASSERT错误,则记录导致错误的ERROR函数和/或ASSERT函数至串口日志。
7.根据权利要求6所述的方法,其特征在于,所述方法还包括:
从BMC获取所述串口日志;
解析所述串口日志以分别确定导致EXCEPTION错误、ERROR错误,和/或ASSERT错误的函数。
8.一种BIOS错误定位装置,其特征在于,所述装置包括:
MAP文件获取模块;用于获取BIOS编译过程中生成的记录每一函数入口地址偏移量的若干MAP文件;
基地址记录模块,用于对BIOS启动后每一个函数模块的基地址进行记录以得到基地址日志文件;
目标函数确定模块,用于在BIOS在执行过程中发生EXCEPTION错误,则执行Exception处理函数以根据所述基地址日志文件和所述若干MAP文件确定导致发生所述EXCEPTION错误的目标函数;
串口日志处理模块,用于将所述目标函数的名称记录到串口日志中,并将所述串口日志发送到BMC。
9.一种计算机设备,其特征在于,包括:
至少一个处理器;以及
存储器,所述存储器存储有可在所述处理器中运行的计算机程序,所述处理器执行所述程序时执行权利要求1-7任意一项所述的方法。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时执行权利要求1-7任意一项所述的方法。
CN202011447497.3A 2020-12-11 2020-12-11 一种bios错误定位方法、装置、设备及存储介质 Active CN112463431B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN202011447497.3A CN112463431B (zh) 2020-12-11 2020-12-11 一种bios错误定位方法、装置、设备及存储介质
US18/256,806 US20230393926A1 (en) 2020-12-11 2021-10-29 BIOS Error Locating Method and Apparatus, Device and Non-Volatile Storage Medium
PCT/CN2021/127324 WO2022121548A1 (zh) 2020-12-11 2021-10-29 一种bios错误定位方法、装置、设备及非易失性存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011447497.3A CN112463431B (zh) 2020-12-11 2020-12-11 一种bios错误定位方法、装置、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112463431A true CN112463431A (zh) 2021-03-09
CN112463431B CN112463431B (zh) 2022-07-19

Family

ID=74801852

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011447497.3A Active CN112463431B (zh) 2020-12-11 2020-12-11 一种bios错误定位方法、装置、设备及存储介质

Country Status (3)

Country Link
US (1) US20230393926A1 (zh)
CN (1) CN112463431B (zh)
WO (1) WO2022121548A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022121548A1 (zh) * 2020-12-11 2022-06-16 苏州浪潮智能科技有限公司 一种bios错误定位方法、装置、设备及非易失性存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309506A (zh) * 2020-02-12 2020-06-19 中国平安人寿保险股份有限公司 一种编译错误的定位方法、设备、服务器及可读存储介质

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108369520B (zh) * 2016-01-25 2022-03-08 惠普发展公司,有限责任合伙企业 保护基本输入/输出(bios)代码
US10275299B2 (en) * 2017-02-02 2019-04-30 International Business Machines Corporation Efficient transfer of data from CPU to onboard management device
US10671149B2 (en) * 2017-12-22 2020-06-02 Dell Products, L.P. System and methods for remotely applying battery management policies based on local user behavior
CN109086155A (zh) * 2018-07-27 2018-12-25 郑州云海信息技术有限公司 服务器故障定位方法、装置、设备及计算机可读存储介质
US11003778B2 (en) * 2019-05-17 2021-05-11 Dell Products L.P. System and method for storing operating life history on a non-volatile dual inline memory module
US11132314B2 (en) * 2020-02-24 2021-09-28 Dell Products L.P. System and method to reduce host interrupts for non-critical errors
US11126518B1 (en) * 2020-03-16 2021-09-21 Quanta Computer Inc. Method and system for optimal boot path for a network device
CN111737039A (zh) * 2020-06-19 2020-10-02 广东浪潮大数据研究有限公司 一种错误信息辅助提取方法、装置、设备及可读存储介质
CN111831466A (zh) * 2020-07-17 2020-10-27 深圳市同泰怡信息技术有限公司 一种系统设备报错的方法、装置、存储介质和计算机设备
CN112463431B (zh) * 2020-12-11 2022-07-19 苏州浪潮智能科技有限公司 一种bios错误定位方法、装置、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111309506A (zh) * 2020-02-12 2020-06-19 中国平安人寿保险股份有限公司 一种编译错误的定位方法、设备、服务器及可读存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022121548A1 (zh) * 2020-12-11 2022-06-16 苏州浪潮智能科技有限公司 一种bios错误定位方法、装置、设备及非易失性存储介质

Also Published As

Publication number Publication date
US20230393926A1 (en) 2023-12-07
WO2022121548A1 (zh) 2022-06-16
CN112463431B (zh) 2022-07-19

Similar Documents

Publication Publication Date Title
CN111428462B (zh) 通讯协议模板构建的方法及终端设备
CN108427613B (zh) 异常接口定位方法、装置、计算机设备和存储介质
JP2018026135A (ja) 静的解析警告の効率的な運用のための原因ポイント解析のためのシステム及び方法
KR102588856B1 (ko) 소프트웨어 검증 방법 및 이를 위한 장치
CN112395202B (zh) 接口自动化测试方法、装置、计算机设备和存储介质
CN111679968A (zh) 接口调用异常的检测方法、装置、计算机设备及存储介质
CN112463431B (zh) 一种bios错误定位方法、装置、设备及存储介质
CN110928778B (zh) 死循环定位方法、装置、计算机设备和存储介质
CN112363937A (zh) 差异覆盖率测试方法、装置、计算机设备和存储介质
CN114610635A (zh) 接口测试用例生成方法、装置、计算机设备及存储介质
CN113448862A (zh) 软件版本测试方法、装置及计算机设备
CN114328017A (zh) 一种数据库备份方法、系统、计算机设备和存储介质
CN112256672B (zh) 数据库变更审批方法及装置
JP5495310B2 (ja) 情報処理装置、障害解析方法及び障害解析プログラム
CN117391306A (zh) 国土空间规划成果审查方法、装置、设备以及存储介质
CN115292201B (zh) 函数调用栈解析和回溯方法与装置
CN116521538A (zh) 命令行界面自动测试方法、装置、电子设备及存储介质
CN115729477A (zh) 分布式存储io路径数据写入、读取方法、装置和设备
CN113282496B (zh) 接口自动测试方法、装置、设备及存储介质
CN115422095A (zh) 一种回归测试用例推荐方法、装置、设备及介质
CN109240906B (zh) 数据库配置信息适配方法、装置、计算机设备和存储介质
CN112580334A (zh) 一种文案处理方法、装置、服务器及存储介质
CN111475400A (zh) 一种业务平台的验证方法及相关设备
CN111124814A (zh) Soc内存访问监控方法、装置和计算机设备
CN114818645B (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