CN118093248A - Str调试的故障确定方法、装置、电子设备及存储介质 - Google Patents
Str调试的故障确定方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN118093248A CN118093248A CN202410324151.6A CN202410324151A CN118093248A CN 118093248 A CN118093248 A CN 118093248A CN 202410324151 A CN202410324151 A CN 202410324151A CN 118093248 A CN118093248 A CN 118093248A
- Authority
- CN
- China
- Prior art keywords
- str
- debugging
- fault
- under
- kernel
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 100
- 230000015654 memory Effects 0.000 claims description 153
- 238000012795 verification Methods 0.000 claims description 47
- 238000004590 computer program Methods 0.000 claims description 10
- 238000013024 troubleshooting Methods 0.000 claims description 4
- 238000011835 investigation Methods 0.000 claims 1
- 230000008569 process Effects 0.000 description 39
- 238000012360 testing method Methods 0.000 description 17
- 238000010586 diagram Methods 0.000 description 10
- 230000002618 waking effect Effects 0.000 description 9
- 230000007958 sleep Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 239000008187 granular material Substances 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 230000004617 sleep duration Effects 0.000 description 5
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 208000019116 sleep disease Diseases 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000009471 action Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000004622 sleep time Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000009699 differential effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000036578 sleeping time Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/362—Software debugging
- G06F11/366—Software debugging using diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明实施例提供了STR调试的故障确定方法、装置、电子设备及存储介质,涉及计算机技术领域。方法包括:在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程;在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障;在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。本发明可以方便、快捷的将STR调试中的故障进行明确的区分和定位,避免了无法对STR调试的故障进行定位或分类,导致的无法有效解决故障的问题,可以大幅度降低解决STR故障的难度,提升STR故障解决的效率,进而提升STR调试的效率。
Description
技术领域
本发明涉及计算机技术领域,特别是涉及一种STR调试的故障确定方法、装置、电子设备及存储介质。
背景技术
STR(Suspend to RAM,挂起到内存)是一种低唤醒延时的睡眠状态。除了系统内存外,CPU(Central Processing Unit,中央处理器)、缓存、桥片、硬盘等器件均无电。待机命令发出时系统将所有上下文信息保存到内存中,进入STR状态后内存处于自刷新状态,唤醒事件发生后从内存中读取数据并快速恢复到STR之前的状态。在STR状态下,仅仅内存有电源供给,它是几乎唯一的有电源供给的组件。由于操作系统、所有应用程序和被打开的文档等等的状态都是保存在内存中,所以用户可以把工作恢复到正好上次他们保持的状态,即计算机从STR状态回来时内存的内容和它进入STR状态时候的内容是相同的。因而必须保证内存数据在STR睡下去到唤醒过程中有效数据不丢失,如果有丢失就会导致唤醒失败。
目前,STR的调试中:在睡下去和唤醒后添加内存校验,对比内存数据是否一致,在不一致的情况下,认为STR功能存在故障,然后将所有可能的STR故障都排查一次,接着继续重复内存校验的操作,直至内存校验通过。
然而,已有的STR的调试方式,无法准确定位故障的类型或位置,加大了STR故障解决的难度,降低了STR调试的效率。
发明内容
鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题或者至少部分地解决上述问题的一种STR调试的故障确定方法,以降低解决STR故障的难度,提升STR调试的效率。
第一方面,本发明提供一种STR调试的故障确定方法,所述方法包括:
在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程;
在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障;
在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
第二方面,本发明提供一种STR调试的故障确定装置,所述装置包括:
第一执行模块,用于在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程;
软件故障确定模块,用于在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障;
硬件故障确定模块,用于在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
第三方面,本发明提供一种电子设备,包括:处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述程序时实现上述STR调试的故障确定方法。
第四方面,本发明提供一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述STR调试的故障确定方法。
本发明包括以下优点:
本发明中,STR调试存在故障后,板卡不进入STR的状态就是硬件不进入STR的状态,然后执行STR的软件流程,就是屏蔽了硬件的影响,仅测试STR的相关软件。在这种情况下,STR的软件流程出现故障,说明本次STR调试中存在软件故障。在这种情况下,STR的软件流程成功运行,说明屏蔽了硬件的影响,本次STR的软件流程是成功运行的,那么本次STR调试中的故障存在硬件故障,进而方便、快捷的将本次STR调试中的故障到底存在软件故障还是硬件故障,进行了明确的区分和定位。对于软件故障,后续可以主要排查软件故障,对于硬件故障,后续可以主要排查硬件故障,避免无法对本次STR调试的故障进行定位或分类,导致的无法有效解决故障的问题,可以降低解决STR故障的难度,提升STR故障解决的效率,进而提升STR调试的效率。
附图说明
图1示出了本发明的一种STR调试的故障确定方法实施例的步骤流程图;
图2示出了本发明的另一种STR调试的故障确定方法实施例的步骤流程图;
图3示出了本发明的一种STR调试的故障确定装置实施例的结构框图;
图4示出了本发明的一种STR调试的故障确定方法的流程示意图;
图5是本发明实施例提供的一种电子设备的结构图。
具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
发明人发现,已有的STR的调试方式,无法准确定位故障的类型或位置,加大了STR故障解决的难度,降低了STR调试的效率的主要原因在于:整个STR过程中包含了大量的软硬配合的操作,现有技术中,将软硬件杂糅在一起进行调试,无法区分或定位故障类型。
针对上述技术问题,本发明实施例的核心构思之一在于,STR调试存在故障后,板卡不进入STR的状态就是硬件不进入STR的状态,就是屏蔽了硬件的影响,仅测试STR的软件流程。在这种情况下,STR的软件流程出现故障,说明本次STR调试中存在软件故障。在这种情况下,STR的软件流程成功运行,说明屏蔽了硬件的影响,本次STR的软件流程是成功运行的,那么本次STR调试中的故障存在硬件故障,进而方便、快捷的将本次STR调试中的故障到底存在软件故障还是硬件故障,进行了明确的区分和定位。对于软件故障,后续可以主要排查软件故障,对于硬件故障,后续可以主要排查硬件故障,避免无法对本次STR调试的故障进行定位或分类,导致的无法有效解决故障的问题,可以降低解决STR故障的难度,提升STR故障解决的效率,进而提升STR调试的效率。
图1示出了本发明的一种STR调试的故障确定方法实施例的步骤流程图。参照图1,该STR调试的故障确定方法具体可以包括如下步骤:
步骤101、在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程。
STR调试存在故障是指:睡下去时进行校验,得到待机内存校验值。唤醒后对相同的内存端进行校验,得到唤醒内存校验值。对比唤醒内存校验值和待机内存校验值,如果两者不一样,表示睡下去到唤醒过程中内存数据丢失了,STR调试就存在故障了。
板卡不进入STR的状态表征硬件均不进入STR的状态,且硬件不会影响STR的软件流程的运行。因此,在此情况下,执行STR的软件流程,运行是否成功基本只取决于软件。此处执行STR的软件流程是指执行STR的全部软件流程或全部软件逻辑等。
可选的,前述步骤101可以包括:在STR调试存在故障的情况下,配置ACPI(Advanced Configuration and Power Interface,高级配置与电源接口)寄存器,使得板卡进入重启状态,而不进入STR的状态,执行STR的软件流程。在重启状态下硬件不进入STR的状态,而且在重启状态下,硬件完全不会影响STR的软件流程的运行,且仅通过设置ACPI寄存器即可实现,方法简单。需要说明的是,该步骤中,仅是ACPI的状态设置和检查,与真正的STR不一致,其余的均与真正的STR完全一致。
步骤102、在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障。
板卡不进入STR的状态就是硬件不进入STR的状态,就是屏蔽了硬件的影响,仅测试STR的软件流程。在这种情况下,STR的软件流程出现故障,说明本次STR调试中存在软件故障。
此处STR的软件流程出现故障表征:对比唤醒内存校验值和待机内存校验值,两者不一样,表示睡下去到唤醒过程中内存数据丢失了。
步骤103、在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
就是屏蔽了硬件的影响,本次STR的软件流程是成功运行的,那么本次STR调试中的故障存在硬件故障。
此处STR的软件流程成功运行表征:对比唤醒内存校验值和待机内存校验值,两者一样,表示睡下去到唤醒过程中内存数据没有丢失。
可选的,在前述STR调试中存在硬件故障的情况下,该方法还可以包括:仅排查硬件故障,硬件故障排查完毕后,继续进行STR调试,直至调试成功。在前述STR调试中存在软件故障的情况下,主要排查软件故障,软件故障排查完毕后,继续进行STR调试,直至调试成功,故障排查的针对性更强,提升了调试效率。
此处的硬件故障排查可以包括检查硬件时序,具体的,可以检查内存自刷新是否设置成功,必要时需进一步测量信号,主要测量内存颗粒的复位信号和内存颗粒的时钟使能信号等。一方面,需要确保内存颗粒的复位信号在进入睡眠状态到唤醒阶段一直保持为高;另一方面,内存颗粒的时钟使能信号满足进入睡眠状态颗粒有效识别为低电平,直到内存初始化开始设置成高电平,退出自刷新状态。
可选的,在前述步骤101之前,该方法还可以包括:进行多次STR测试,该多次STR测试对应至少一个长睡眠时长和一个短睡眠时长。在所有的短睡眠时长对应的STR,均调试成功,且至少一个长睡眠时长对应的STR失败的情况下,确定该STR失败原因为存在硬件故障。更为具体的,在STR流程中,配置硬件的相关的流程设置正确,例如,寄存器配置正确的情况下,短睡眠时长和长睡眠时长的软件流程是一样的,短睡眠时长对应的STR调试都成功了,说明软件流程基本是没有问题的,这种情况下,绝大多数都是硬件故障。例如,可能是内存自刷新设置失败等,内存自刷新的进入和退出可能出现故障等,可以配合相关时序进行故障排查等。可以人为延长睡眠时长等,进一步彻底的排查硬件故障等。需要说明的是,此处的短睡眠时长和长睡眠时长两者的差值不作具体限定。
图2示出了本发明的另一种STR调试的故障确定方法实施例的步骤流程图。参照图2,该STR调试的故障确定方法具体可以包括如下步骤:
步骤201、在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程。
步骤202、在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障。
步骤203、在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
前述步骤201至步骤203可以参照前述步骤101至步骤103相关记载,为了避免重复,此处不再赘述。
步骤204、所述STR调试中存在软件故障,在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程。
在STR状态,软件部分主要涉及内核和BIOS(Basic Input Output System,基本输入输出系统)。板卡不进入STR的状态,依然表征硬件均不进入STR的状态,且硬件不会影响STR的软件流程的运行。
对于BIOS而言,引起STR故障的主要原因是:睡眠及唤醒过程中,特别是唤醒后,BIOS可能存在对有效内存数据的踩踏或覆盖等,导致睡眠前和唤醒后,有效内存数据丢失。
不进入内核,仅在BIOS下,执行STR的软件流程可以理解为:验证睡眠及唤醒过程中,特别是唤醒后,BIOS会不会对内核对应的有效内存数据进行踩踏或覆盖等,由于没有进入内核,也就是基本摒弃或排除了软件中内核的影响,仅验证BIOS的逻辑。
STR调试中存在软件故障,在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程,就是摒弃了硬件的影响,且摒弃了软件中内核的影响,若STR的软件流程成功运行,说明BIOS没有问题,是内核导致该STR失败,若STR的软件流程出现故障,说明是BIOS导致该STR失败,而不是内核。
更为具体的,在STR流程中,配置硬件的相关的流程设置正确,例如,寄存器配置正确的情况下,不进入内核,仅在BIOS下,执行STR的软件流程可以是:没有执行内核的部分,进而在执行STR的软件流程前,和执行STR的软件流程后,内核所占用的内存空间内的数据是否发生变化和内核流程无关,仅与BIOS流程有关,更为具体的,仅与BIOS是否踩踏有关。因此仅需要将执行STR的软件流程前,和执行STR的软件流程后,内核所占用的内存空间内的数据进行比对,两者一样,就说明睡眠及唤醒过程中,特别是唤醒后,BIOS没有对有效内存数据进行踩踏或覆盖等,验证通过,说明不是BIOS导致该STR失败,而是内核导致该STR失败,两者不一样,验证不通过,就说明睡眠及唤醒过程中,特别是唤醒后,BIOS对有效内存数据进行踩踏或覆盖等,说明是BIOS导致该STR失败。可以在执行STR的软件流程之前,将内核所占用的内存空间内的数据设置成易于比对的数据,进而可以提升效率。例如,将内核所占用的内存空间内的数据设置成全0或全1。
步骤205、不进入内核,仅在BIOS下,STR的软件流程成功运行的情况下,确定所述STR调试中的软件故障中存在内核故障。
该步骤就是,STR调试中存在软件故障,摒弃了硬件的影响,且摒弃了软件中内核的影响,仅验证BIOS的逻辑,STR的软件流程成功运行,说明BIOS没有问题,是内核导致该STR失败,则该STR调试中的软件故障中存在内核故障。
可选的,该步骤205之后,该方法还可以包括:仅排查内核故障,内核故障排查完毕后,可以继续进行STR调试或验证,直至调试成功,故障排查的针对性更强,提升了调试效率。
步骤206、不进入内核,仅在BIOS下,STR的软件流程出现故障的情况下,确定所述STR调试中的软件故障中存在BIOS故障。
该步骤就是,STR调试中存在软件故障,摒弃了硬件的影响,且摒弃了软件中内核的影响,仅验证BIOS的逻辑,STR的软件流程依然出现故障,说明不是内核导致该STR失败,而是BIOS导致该STR失败。
可选的,该步骤206之后,该方法还可以包括:仅排查BIOS故障,BIOS故障排查完毕后,可以继续进行STR调试或验证,直至调试成功,故障排查的针对性更强,提升了调试效率。
在STR调试中存在软件故障的情况下,前述步骤204至步骤206,将软件故障进一步细分,在STR调试中存在软件故障的情况下,可以进一步便捷、准确定位软件故障的排查方向,对于BIOS故障,后续可以仅排查BIOS故障,而无需排查内核故障,对于内核故障,后续可以仅排查内核故障,而无需排查BIOS故障,避免无法对本次STR调试的软件故障进行定位或分类,导致的无法有效解决故障的问题,可以降低STR软件故障解决的难度,提升STR故障解决的效率,进一步提升STR调试的效率。同时,相对于确认内核故障而言,BIOS故障更易查找和确认,因此不进入内核,仅在BIOS下,执行STR的软件更易于区分软件故障中的故障类型等。
可选的,前述步骤201之前,该方法还可以包括:在STR调试存在故障的情况下,BIOS缩小传递给内核的内存容量,缩小后的内存容量,可以保证内核的运行。前述步骤201中、步骤204中的执行STR的软件流程,均包括:在缩小后的内存容量内,采用部分校验方式或全校验方式,执行该STR的软件流程。
具体的,发明人发现内存原始容量越来越大,如8G、16G、32G等,BIOS启动后,拥有对全部的内存容量的控制权。通常BIOS会占用较少的内存空间,如256M左右,剩下的所有内存容量,BIOS均会传递给内核,由内核对剩下的所有内存容量进行管理。由于剩下的所有内存容量大,在校验过程中做全校验,检验时间过长,在校验过程中做部分校验又担心校验不完全会带来隐患。针对上述技术问题,发明人创造性的,让BIOS缩小传递给内核的内存容量,就是说减少了内核管理使用的内存容量,由于内核管理使用的内存容量减小了,进而在缩小后的内存容量后,可以采用部分校验或者全校验的方式,执行前述STR软件流程,不管是对该减小了的内存容量做全校验还是部分校验均可以节省很多校验时长,例如,由于内核管理使用的内存容量减小了,可以对内核管理使用的内存容量做全校验,一方面由于内存容量小,做全校验花费的时间较短,而且,做全校验,由于校验更全面,可靠性能更高。需要说明的是,此处缩小后的内存容量需要可以保证内核的运行,或者说,缩小后的内存容量需要保证,STR状态下内核能运行。对于缩小后的内存容量的大小,不作限定。例如,缩小后的内存容量的大小,可以与内存原始容量的大小正相关等。此处的部分校验中,校验的比例大小不作限定,如,可以是上传给内核的总内存容量的50%等。
例如,内存原始容量为16G,通常BIOS占用256M,BIOS会将剩下的接近16G的内存容量,均传递给内核,由内核对剩下的所有内存容量进行管理,也就是说,在STR状态下,剩下的接近16G的内存容量,可能均会用到,或者所用的具体位置不确定,因此在STR的校验过程中,做全校验的话,就需要对上述接近16G的内存容量均进行校验。本申请中,在STR调试过程中,BIOS会占用256M,但BIOS会将剩余内存中的2G内存容量传递给内核,由内核对这2G内存容量进行管理,注意所传的内存要保证内核可以正常运行,也就是说,在STR调试过程中,系统中这传递给内核的接近2G的内存容量,可能均会用到,且部分内存所用的具体位置不确定,因此在STR调试过程中,如果做全校验的话,就只需要对上述2G的内存容量均进行校验,相对于原来对近16G的内存容量做全校验,仅对2G的内存容量做全校验,明显的,校验时长会大幅度减少。而且,在STR调试过程中,内核使用管理的就是这2G,因此,对2G做校验就是对内核覆盖的全部内存容量做了检验,校验效果与前述对近16G的内存容量做全校验,对应的校验效果相同,但是明显减少了校验时长,提升了STR调试的效率。
需要说明的是,此处,仅在STR调试过程中,BIOS缩小传递给内核的内存容量,STR调试通过后,实际应用过程中,BIOS还是会将绝大多数的内存容量均传递给内核。例如,针对前述例子,STR调试通过后,实际应用过程中,BIOS占用256M,BIOS会将剩下的接近16G的内存容量,均传递给内核,由内核对剩下的所有内存容量进行管理。
可选的,前述步骤204之前,该方法还可以包括:BIOS缩小传递给内核的内存容量,缩小后的内存容量,可以保证内核的运行。前述步骤204可以包括:在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。就是说,STR调试中存在软件故障,然后BIOS缩小传递给内核的内存容量。接着,摒弃了硬件的影响,且摒弃了软件中内核的影响,在缩小后的内存容量下执行STR的软件流程,可以进一步便捷、准确定位软件故障的排查方向,进一步降低STR软件故障解决的难度,进一步提升STR故障解决的效率,进一步提升STR调试的效率。缩小后的内存容量的要求、大小等,可以参照前述相关记载,且能达到相同或相似的有益效果,为了避免重复,此处不再赘述。
可选的,前述步骤201之前,该方法还可以包括:BIOS缩小传递给内核的内存容量,缩小后的内存容量,可以保证内核的运行;在缩小后的内存容量内,进行STR调试。该步骤201,包括:在缩小后的内存容量内,进行STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程。具体的,首先,BIOS缩小传递给内核的内存容量,然后在缩小后的内存容量内,将软件和硬件杂糅在一起,进行STR调试,由于缩小后的内存容量较小,不管是全校验还是部分校验均可以大幅度节省校验时间,例如,此处可以进行全校验。在软硬件杂糅STR调试存在故障的情况下,进一步再摒弃硬件的影响,进一步区分该故障具体是软件故障还是硬件故障。
可选的,再将硬件故障和软件故障均解决后,该方法还可以包括:将软件和硬件杂糅在一起,再进行STR调试,本次STR通过,说明该计算机STR调试通过。此处,将软件和硬件杂糅在一起,在进行STR调试之前,同样,BIOS可以缩小传递给内核的内存容量,然后在缩小后的内存容量内,将软件和硬件杂糅在一起,再进行STR调试,同样可以使用全校验,可以减少校验时长,大幅度节省调试时间。
可选的,在单台计算机STR调试通过后,该方法还可以包括:小批量校验版本批量一致性。例如,当单台计算机STR测试验证1000次正常通过后,需进一步进行小批量(30至50台)规模的一致性测试,进一步排除硬件板卡或芯片工艺带来的差异影响。如有问题,再次进入前述方法验证,找出典型机,由于该阶段的差异通常是硬件差异导致的,可直接进入前述步骤201排查分析原因,确定解决方案。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
参照图3,图3示出了本发明的一种STR调试的故障确定装置实施例的结构框图,具体可以包括如下模块:
第一执行模块301,用于在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程;
软件故障确定模块302,用于在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障;
硬件故障确定模块303,用于在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
可选的,所述STR调试中存在软件故障,所述装置还包括:
第二执行模块,用于在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程;
内核故障确定模块,用于不进入内核,仅在BIOS下,STR的软件流程成功运行的情况下,确定所述STR调试中的软件故障中存在内核故障;
BIOS故障确定模块,用于不进入内核,仅在BIOS下,STR的软件流程出现故障的情况下,确定所述STR调试中的软件故障中存在BIOS故障。
可选的,所述装置还包括:
第一缩小模块,用于在STR调试存在故障的情况下,BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
所述第一执行模块301、所述第二执行模块,包括:
第一执行子模块,用于在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。
可选的,所述装置还包括:
第二缩小模块,用于BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
所述第二执行模块,包括:
第二执行子模块,用于在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。
可选的,所述第一执行模块301,包括:
第三执行子模块,用于在STR调试存在故障的情况下,配置ACPI寄存器,使得板卡进入重启状态,而不进入STR的状态,执行STR的软件流程。
可选的,所述装置还包括:
第三缩小模块,用于BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
调试模块,用于在缩小后的内存容量内,进行STR调试;
所述第一执行模块301,包括:
第四执行子模块,用于在缩小后的内存容量内,进行STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程。
可选的,所述STR调试中存在硬件故障,所述装置还包括:
硬件故障排查模块,用于进行硬件故障排查。
可选的,所述装置还包括:
内核故障排查模块,用于在所述STR调试中的软件故障中存在内核故障的情况下,进行内核故障排查;
BIOS故障排查模块,用于在所述STR调试中的软件故障中存在BIOS故障的情况下,进行BIOS故障排查。
对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
下面结合具体的实施例进一步解释说明本申请。图4示出了本发明的一种STR调试的故障确定方法的流程示意图。
第一步,BIOS缩小传递给内核的内存容量,在缩小后的内存容量内,进行STR调试,此处进行全校验,也就是在缩小后的内存容量内进行软硬件杂糅的STR调试,由于缩小了传递给内核的内存容量,因此大幅度减少了全校验的时长。
第二步,第一步调试通过(Pass?Y),说明本次STR测试软件硬件均没有问题。后续进行单台计算机STR测试验证1000次正常通过后,进一步进行小批量(30至50台)规模的一致性测试,进一步排除硬件板卡或芯片工艺带来的差异影响。如有问题,再次进入前述方法验证,找出典型机,由于该阶段的差异通常是硬件差异导致的,可直接进入硬件故障排查分析原因,确定解决方案。如果通过,BIOS就将剩余的全部内存容量都传递给内核,在剩余的全部内存容量内,进行STR正式版本验证,测试结束。
第三步,第一步调试出现故障(Pass?N),此时还无法确定本次STR测试中存在软件故障还是硬件故障。
第四步,在板卡不进入STR的状态的情况下,执行STR的软件流程,就是摒弃硬件的影响,仅测试STR的软件流程,此处进行全校验。此步骤中,BIOS同样会缩小传递给内核的内存容量,在缩小后的内存容量内,进行STR的软件流程的调试,调试速度快。
第五步,第四步中STR的软件流程成功运行,说明本次STR测试的故障是硬件故障,然后进行硬件故障排查。
第六步,第四步中STR的软件流程出现故障,说明本次STR测试的故障中存在软件故障。然后,在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程,就是摒弃硬件的影响,且摒弃内核的影响,仅测试BIOS的逻辑。此步骤中,BIOS会假定缩小传递给内核的内存容量(由于实际不启动内核,故而这里实际传递是否真的缩小没有影响),在缩小后的内存容量内,进行STR的软件流程的调试,调试速度快。
第七步,第六步测试通过,说明BIOS没有问题,本次STR测试的故障是应该是内核故障,进行内核故障排查。
第八步,第六步测试出现故障,说明BIOS有问题,本次STR测试的故障是应该是BIOS故障,进行BIOS故障排查。
综上所述,通过BIOS缩小传递给内核的内存容量,因此大幅度减少了全校验的时长,提升了STR调试的效率。通过第四步、第五步、第六步,可以快捷、准确的区分本次STR调试的故障中含有软件故障还是硬件故障。在本次STR调试的故障含有软件故障的情况下,通过第六步、第七步、第八步,可以快捷、准确的区分本次STR测试的软件故障是BIOS故障还是内核故障,进而对软件故障进行了准确分类和定位,可以大幅度降低解决STR故障的难度,大幅度提升STR故障解决的效率,进而大幅度提升STR调试的效率。
图5是本发明实施例提供的一种电子设备的结构图。参照图5,本发明还提供了一种电子设备,参见图5,包括:处理器501、存储器502以及存储在所述存储器上并可在所述处理器上运行的计算机程序5021,所述处理器执行所述程序时实现上述STR调试的故障确定方法各实施例的步骤。
本发明还提供了一种可读存储介质,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行上述STR调试的故障确定方法各实施例的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以预测方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本发明所提供的一种STR调试的故障确定方法和装置、一种电子设备以及一种储存介质,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (18)
1.一种STR调试的故障确定方法,其特征在于,所述方法包括:
在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程;
在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障;
在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
2.根据权利要求1所述的方法,其特征在于,所述STR调试中存在软件故障,所述方法还包括:
在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程;
不进入内核,仅在BIOS下,STR的软件流程成功运行的情况下,确定所述STR调试中的软件故障中存在内核故障;
不进入内核,仅在BIOS下,STR的软件流程出现故障的情况下,确定所述STR调试中的软件故障中存在BIOS故障。
3.根据权利要求1或2所述的方法,其特征在于,所述在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程之前,所述方法还包括:
在STR调试存在故障的情况下,BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
所述执行STR的软件流程,包括:
在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。
4.根据权利要求2所述的方法,其特征在于,所述在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程之前,所述方法还包括:
BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
所述在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程,包括:
在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。
5.根据权利要求1或2所述的方法,其特征在于,所述在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程,包括:
在STR调试存在故障的情况下,配置ACPI寄存器,使得板卡进入重启状态,而不进入STR的状态,执行STR的软件流程。
6.根据权利要求1或2所述的方法,其特征在于,所述在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程之前,所述方法还包括:
BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
在缩小后的内存容量内,进行STR调试;
所述在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程,包括:
在缩小后的内存容量内,进行STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程。
7.根据权利要求1或2所述的方法,其特征在于,所述STR调试中存在硬件故障,所述方法还包括:
进行硬件故障排查。
8.根据权利要求2或4所述的方法,其特征在于,所述方法还包括:
在所述STR调试中的软件故障中存在内核故障的情况下,进行内核故障排查;
在所述STR调试中的软件故障中存在BIOS故障的情况下,进行BIOS故障排查。
9.一种STR调试的故障确定装置,其特征在于,所述装置包括:
第一执行模块,用于在STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程;
软件故障确定模块,用于在所述STR的软件流程出现故障的情况下,确定所述STR调试中存在软件故障;
硬件故障确定模块,用于在所述STR的软件流程成功运行的情况下,确定所述STR调试中存在硬件故障。
10.根据权利要求9所述的装置,其特征在于,所述STR调试中存在软件故障,所述装置还包括:
第二执行模块,用于在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,执行STR的软件流程;
内核故障确定模块,用于不进入内核,仅在BIOS下,STR的软件流程成功运行的情况下,确定所述STR调试中的软件故障中存在内核故障;
BIOS故障确定模块,用于不进入内核,仅在BIOS下,STR的软件流程出现故障的情况下,确定所述STR调试中的软件故障中存在BIOS故障。
11.根据权利要求9所述的装置,其特征在于,还包括:
第一缩小模块,用于在STR调试存在故障的情况下,BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
所述第一执行模块,包括:
第一执行子模块,用于在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。
12.根据权利要求10所述的装置,其特征在于,还包括:
第二缩小模块,用于BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
所述第二执行模块,包括:
第二执行子模块,用于在板卡不进入STR的状态的情况下,不进入内核,仅在BIOS下,在缩小后的内存容量内,采用部分校验方式或全校验方式,执行STR的软件流程。
13.根据权利要求9或10所述的装置,其特征在于,所述第一执行模块,包括:
第三执行子模块,用于在STR调试存在故障的情况下,配置ACPI寄存器,使得板卡进入重启状态,而不进入STR的状态,执行STR的软件流程。
14.根据权利要求9或10所述的装置,其特征在于,还包括:
第三缩小模块,用于BIOS缩小传递给内核的内存容量;缩小后的内存容量,可以保证内核的运行;
调试模块,用于在缩小后的内存容量内,进行STR调试;
所述第一执行模块,包括:
第四执行子模块,用于在缩小后的内存容量内,进行STR调试存在故障,且板卡不进入STR的状态的情况下,执行STR的软件流程。
15.根据权利要求9或10所述的装置,其特征在于,所述STR调试中存在硬件故障,所述装置还包括:
硬件故障排查模块,用于进行硬件故障排查。
16.根据权利要求9或10所述的装置,其特征在于,还包括:
内核故障排查模块,用于在所述STR调试中的软件故障中存在内核故障的情况下,进行内核故障排查;
BIOS故障排查模块,用于在所述STR调试中的软件故障中存在BIOS故障的情况下,进行BIOS故障排查。
17.一种电子设备,其特征在于,包括:
处理器、存储器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1-8中任一项所述STR调试的故障确定方法。
18.一种可读存储介质,其特征在于,当所述存储介质中的指令由电子设备的处理器执行时,使得电子设备能够执行权利要求1-8中任一项所述的STR调试的故障确定方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410324151.6A CN118093248A (zh) | 2024-03-20 | 2024-03-20 | Str调试的故障确定方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410324151.6A CN118093248A (zh) | 2024-03-20 | 2024-03-20 | Str调试的故障确定方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118093248A true CN118093248A (zh) | 2024-05-28 |
Family
ID=91147422
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410324151.6A Pending CN118093248A (zh) | 2024-03-20 | 2024-03-20 | Str调试的故障确定方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118093248A (zh) |
-
2024
- 2024-03-20 CN CN202410324151.6A patent/CN118093248A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6857084B1 (en) | Multiprocessor system and method for simultaneously placing all processors into debug mode | |
US8006144B2 (en) | Memory testing | |
US4493078A (en) | Method and apparatus for testing a digital computer | |
US20040153762A1 (en) | Hardware driven state save/restore in a data processing system | |
EP3629176B1 (en) | Fault detection circuit with progress register and status register | |
CN106681877B (zh) | 芯片调试系统及方法与系统芯片 | |
US10970191B2 (en) | Semiconductor device and debug method | |
US20140201583A1 (en) | System and Method For Non-Intrusive Random Failure Emulation Within an Integrated Circuit | |
CN118093248A (zh) | Str调试的故障确定方法、装置、电子设备及存储介质 | |
US7904286B2 (en) | Method and apparatus for scheduling test vectors in a multiple core integrated circuit | |
Maeda et al. | Automotive IC on-line test techniques and the application of deterministic ATPG-based runtime test | |
US5404499A (en) | Semi-automatic program execution error detection | |
JP2005332030A (ja) | コントローラ | |
Floridia et al. | Parallel software-based self-test suite for multi-core system-on-chip: Migration from single-core to multi-core automotive microcontrollers | |
JP2003271694A (ja) | プロセッサを含む論理回路の検証用シミュレーション方法及び装置並びに論理回路検証用エラー検出プログラム | |
CN112912958A (zh) | 使用内置自测控制器测试只读存储器 | |
Lin et al. | Transaction level error susceptibility model for bus based SoC architectures | |
TWI794997B (zh) | 固態硬碟裝置的除錯方法及裝置以及電腦程式產品 | |
US7487399B2 (en) | System and method for testing a component in a computer system using frequency margining | |
CN117236277B (zh) | 用于检查寄存器的方法及装置、电子设备 | |
CN117950929A (zh) | 基于门控功能的通用测试方法和装置 | |
CN116702666A (zh) | 一种ip核验证方法、装置及电子设备 | |
CN103064806A (zh) | 一种利用cpld控制dsp实现二次启动的方法 | |
JP2009294743A (ja) | デバッグ装置およびデバッグ方法 | |
JP2007072604A (ja) | 論理回路検証装置及びその制御方法、コンピュータプログラム及び記憶媒体 |
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 |