CN116302643A - 看门狗重启触发原因的定位方法、装置、设备及存储介质 - Google Patents
看门狗重启触发原因的定位方法、装置、设备及存储介质 Download PDFInfo
- Publication number
- CN116302643A CN116302643A CN202310178885.3A CN202310178885A CN116302643A CN 116302643 A CN116302643 A CN 116302643A CN 202310178885 A CN202310178885 A CN 202310178885A CN 116302643 A CN116302643 A CN 116302643A
- Authority
- CN
- China
- Prior art keywords
- watchdog
- task
- time length
- operation time
- abnormal
- 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 57
- 230000002159 abnormal effect Effects 0.000 claims abstract description 102
- 230000004044 response Effects 0.000 claims abstract description 18
- 230000006870 function Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000004590 computer program Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 abstract description 2
- 241000282472 Canis lupus familiaris Species 0.000 description 32
- 230000005856 abnormality Effects 0.000 description 11
- 238000004891 communication Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000008569 process Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000013475 authorization Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请提供一种看门狗重启触发原因的定位方法、装置、设备及存储介质,涉及故障检测技术领域,该看门狗重启触发原因的定位方法包括:响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息;根据异常现场信息,定位看门狗重启触发原因。本申请能够大大提高看门狗重启触发原因的定位效率。
Description
技术领域
本申请涉及故障检测技术领域,尤其涉及一种看门狗重启触发原因的定位方法、装置、设备及存储介质。
背景技术
为保证系统的高可靠性,一般通过看门狗模块对系统的运行状况进行监控,以防止因系统异常而导致功能失效。看门狗模块的工作流程通常为:设置看门狗超时时间;在看门狗超时时间内通过一个或多个周期性任务进行喂狗;在喂狗后重置看门狗超时时间;若看门狗超时,则说明系统发生异常,触发看门狗重启。
目前,通常是由人工通过尝试再现异常来分析看门狗重启触发原因。例如,若异常发生在人为操作的环境,则可以通过重复看门狗重启前的操作来尝试再现异常。但通过上述方式来定位看门狗重启触发原因,定位效率较低。
发明内容
本申请提供一种看门狗重启触发原因的定位方法、装置、设备及存储介质,以解决通过目前方式来定位看门狗重启触发原因,定位效率较低的问题。
第一方面,本申请提供一种看门狗重启触发原因的定位方法,包括:
响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息;
根据异常现场信息,定位看门狗重启触发原因。
可选的,异常现场信息是通过以下方式存储的:响应于看门狗超时,中断在执行任务,并获取在执行任务的第一运行时长和第二运行时长,第一运行时长为在执行任务的总运行时长,第二运行时长为在执行任务在当前时刻与上次喂狗时刻之间的运行时长;根据第一运行时长确定第一平均运行时长,以及根据第二运行时长确定第二平均运行时长;根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,运行时长信息包括第一平均运行时长以及第二平均运行时长。
可选的,在执行任务是按照预设优先级执行的。
可选的,根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,包括:确定第一平均运行时长和第二平均运行时长的差值;确定在执行任务中运行异常的目标任务为差值大于设定阈值的任务。
可选的,根据第一运行时长确定第一平均运行时长,包括:确定在当前时刻之前的第一系统运行时长;确定第一平均运行时长为第一运行时长与第一系统运行时长的比值。
可选的,根据第二运行时长确定第二平均运行时长,包括:确定在当前时刻与上次喂狗时刻之间的第二系统运行时长;确定第二平均运行时长为第二运行时长与第二系统运行时长的比值。
可选的,响应于看门狗超时之前,该看门狗重启触发原因的定位方法还包括:重置在执行任务在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
可选的,运行时长信息用于确定触发看门狗重启的任务;堆栈信息用于确定看门狗超时时刻触发看门狗重启的任务正在执行的函数。
可选的,根据异常现场信息,定位看门狗重启触发原因,包括:输出异常现场信息,以通过人工方式定位看门狗重启触发原因。
第二方面,本申请提供一种看门狗重启触发原因的定位装置,包括:
获取模块,用于响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息;
处理模块,用于根据异常现场信息,定位看门狗重启触发原因。
可选的,看门狗重启触发原因的定位装置还包括存储模块,用于通过以下方式存储异常现场信息:响应于看门狗超时,中断在执行任务,并获取在执行任务的第一运行时长和第二运行时长,第一运行时长为在执行任务的总运行时长,第二运行时长为在执行任务在当前时刻与上次喂狗时刻之间的运行时长;根据第一运行时长确定第一平均运行时长,以及根据第二运行时长确定第二平均运行时长;根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,运行时长信息包括第一平均运行时长以及第二平均运行时长。
可选的,在执行任务是按照预设优先级执行的。
可选的,存储模块在用于根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务时,具体用于:确定第一平均运行时长和第二平均运行时长的差值;确定在执行任务中运行异常的目标任务为差值大于设定阈值的任务。
可选的,存储模块在用于根据第一运行时长确定第一平均运行时长时,具体用于:确定在当前时刻之前的第一系统运行时长;确定第一平均运行时长为第一运行时长与第一系统运行时长的比值。
可选的,存储模块在用于根据第二运行时长确定第二平均运行时长时,具体用于:确定在当前时刻与上次喂狗时刻之间的第二系统运行时长;确定第二平均运行时长为第二运行时长与第二系统运行时长的比值。
可选的,看门狗重启触发原因的定位装置还包括重置模块,用于在响应于看门狗超时之前,重置在执行任务在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
可选的,运行时长信息用于确定触发看门狗重启的任务;堆栈信息用于确定看门狗超时时刻触发看门狗重启的任务正在执行的函数。
可选的,处理模块具体用于:输出异常现场信息,以通过人工方式定位看门狗重启触发原因。
第三方面,本申请提供一种电子设备,包括:处理器,以及与处理器通信连接的存储器;
存储器存储计算机执行指令;
处理器执行存储器存储的计算机执行指令,以实现如本申请第一方面所述的看门狗重启触发原因的定位方法。
第四方面,本申请提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,计算机程序指令被处理器执行时,实现如本申请第一方面所述的看门狗重启触发原因的定位方法。
第五方面,本申请提供一种计算机程序产品,包括计算机程序,计算机程序被处理器执行时实现如本申请第一方面所述的看门狗重启触发原因的定位方法。
本申请提供的看门狗重启触发原因的定位方法、装置、设备及存储介质,通过响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息;根据异常现场信息,定位看门狗重启触发原因。由于本申请在看门狗重启前存储了在执行任务运行异常时的异常现场信息,从而可以在看门狗重启完成时,获取该异常现场信息,用于定位看门狗重启触发原因,而不需要由人工通过尝试再现异常来分析看门狗重启触发原因,因此,能够大大提高看门狗重启触发原因的定位效率,有效减少定位看门狗重启触发原因过程中花费的时间与人力成本。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本申请一实施例提供的应用场景示意图;
图2为本申请一实施例提供的看门狗重启触发原因的定位方法的流程图;
图3为本申请一实施例提供的在执行任务对应的优先级的示意图;
图4为本申请一实施例提供的异常现场信息的存储方法的流程图;
图5为本申请另一实施例提供的看门狗重启触发原因的定位方法的流程图;
图6为本申请一实施例提供的看门狗重启触发原因的定位装置的结构示意图;
图7为本申请一实施例提供的电子设备的结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据,并且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准,并提供有相应的操作入口,供用户选择授权或者拒绝。
系统一般通过看门狗模块对系统的运行状况进行监控,以保证系统的高可靠性。以系统是车载嵌入式系统为例,为了满足车辆功能安全领域的需求,车载嵌入式系统一般都配备了看门狗模块来防止因系统异常卡住而导致的功能失效。基于目前看门狗模块的工作流程,在看门狗重启后,由于系统已经从异常状态恢复,异常状态的信息也会随之丢失,通常由人工通过尝试再现异常来分析看门狗重启触发原因。若异常发生在人为操作的环境,则可以通过重复看门狗重启前的操作来尝试再现异常;若异常发生在无人监控的情况下,则再现异常比较困难。因此,通过目前方式来定位看门狗重启触发原因,定位效率较低。
基于上述问题,本申请提供一种看门狗重启触发原因的定位方法、装置、设备及存储介质,通过存储在执行任务的运行时长信息与堆栈信息的方式来保存看门狗重启前的异常现场信息,并在看门狗重启完成时,获取该异常现场信息,根据该异常现场信息,定位看门狗重启触发原因;可以避免看门狗重启后需要进行异常再现的困难,可以有效减少定位看门狗重启触发原因过程中花费的时间与人力成本,能够大大提高看门狗重启触发原因的定位效率。
以下,首先对本申请提供的方案的应用场景进行示例说明。
图1为本申请一实施例提供的应用场景示意图。如图1所示,本应用场景中,车辆的微控制单元(Microcontroller Unit,MCU)101配备有看门狗模块1011,用于监控车辆的嵌入式系统中的多个在执行任务(即图1中的任务1至任务N以及中断1至中断M)的运行状态,每个在执行任务配置有相应的执行优先级。MCU 101响应于看门狗超时,中断在执行任务,并保存异常现场信息。MCU 101响应于看门狗重启完成,获取该异常现场信息,以根据该异常现场信息,定位看门狗重启触发原因。
需要说明的是,图1仅是本申请实施例提供的一种应用场景的示意图,本申请实施例不对图1中包括的设备进行限定,也不对图1中设备之间的位置关系进行限定。
下面,通过具体实施例对本申请的技术方案进行详细说明。需要说明的是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。
图2为本申请一实施例提供的看门狗重启触发原因的定位方法的流程图。该看门狗重启触发原因的定位方法可以由软件和/或硬件装置执行,例如,该硬件装置可以为看门狗重启触发原因的定位装置,该看门狗重启触发原因的定位装置可以为电子设备或者电子设备中的处理芯片。如图2所示,本申请实施例的方法包括:
S201、响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息。
本申请实施例中,目标任务的异常现场信息比如存储在非易失性内存中,非易失性内存比如为闪存(Flash)。目标任务为看门狗超时运行异常的在执行任务,可选的,在执行任务是按照预设优先级执行的。
示例性地,图3为本申请一实施例提供的在执行任务对应的优先级的示意图,如图3所示,以系统是车载嵌入式系统为例,在车载嵌入式系统中存在多个在执行任务,其中,在执行任务包括任务(task)和中断(interrupt),任务和中断分别有对应的预设优先级,任务和中断按照预设优先级执行。具体的,任务和中断的执行遵循以下规则:优先级高的任务和优先级低的任务同时存在时,优先级高的任务先执行;中断可以打断正在执行的任务,待中断执行完成后被打断的任务可以继续执行;优先级高的中断可以打断优先级低的中断,待优先级高的中断执行完成后被打断的中断会继续执行。基于上述规则,当某个任务或中断卡住时,比其优先级低的任务或中断都无法执行,导致看门狗重启。因此,可以通过分析任务和中断运行时长的变化来定位触发看门狗重启的原因。
该步骤中,异常现场信息包括堆栈信息和运行时长信息,可选的,运行时长信息用于确定触发看门狗重启的任务;堆栈信息用于确定看门狗超时时刻触发看门狗重启的任务正在执行的函数。
示例性地,当某个在执行任务卡住时,比其优先级低的任务或中断都无法执行,导致看门狗重启,这时处于卡住状态的在执行任务的运行时长变化出现异常,可以用于确定触发看门狗重启的任务,进而可以根据处于卡住状态的在执行任务的堆栈信息,确定看门狗超时时刻处于卡住状态的在执行任务正在执行的函数。
该步骤中,响应于看门狗重启完成,可以获取预先存储的目标任务的异常现场信息,即堆栈信息和运行时长信息。对于目标任务的异常现场信息是如何存储的,可参考后续实施例,此处不再赘述。
S202、根据异常现场信息,定位看门狗重启触发原因。
该步骤中,在获取到目标任务的异常现场信息后,可以根据异常现场信息,定位看门狗重启触发原因。
一种可能的实施方式中,根据异常现场信息,定位看门狗重启触发原因,可以包括:输出异常现场信息,以通过人工方式定位看门狗重启触发原因。
示例性地,目标任务运行时长信息比如为响应于看门狗超时获得的目标任务的第一平均运行时长,以及目标任务在看门狗超时时刻与上次喂狗时刻之间的第二平均运行时长。可以通过比较第一平均运行时长和第二平均运行时长,来确定触发看门狗重启的任务,以及通过目标任务的堆栈信息,确定看门狗超时时刻触发看门狗重启的任务正在执行的函数,从而可以定位触发看门狗重启的原因。
另一种可能的实施方式中,执行本方法实施例的电子设备可以自动根据异常现场信息,定位看门狗重启触发原因。例如,根据运行时长信息来确定触发看门狗重启的任务,以及根据堆栈信息来确定看门狗超时时刻触发看门狗重启的任务正在执行的函数,从而可以定位触发看门狗重启的原因。
本申请实施例提供的看门狗重启触发原因的定位方法,通过响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息;根据异常现场信息,定位看门狗重启触发原因。由于本申请实施例在看门狗重启前存储了在执行任务运行异常时的异常现场信息,从而可以在看门狗重启完成时,获取该异常现场信息,用于定位看门狗重启触发原因,而不需要由人工通过尝试再现异常来分析看门狗重启触发原因,因此,能够大大提高看门狗重启触发原因的定位效率,有效减少定位看门狗重启触发原因过程中花费的时间与人力成本。
在上述实施例的基础上,图4为本申请一实施例提供的异常现场信息的存储方法的流程图,如图4所示,本申请实施例的方法可以包括:
S401、响应于看门狗超时,中断在执行任务,并获取在执行任务的第一运行时长和第二运行时长,第一运行时长为在执行任务的总运行时长,第二运行时长为在执行任务在当前时刻与上次喂狗时刻之间的运行时长。
示例性地,响应于看门狗超时,可以调用看门狗超时中断来中断在执行任务。需要说明的是,可以配置看门狗超时中断为较高的优先级,以保证在看门狗超时时刻,可以打断正在执行的任务或中断。针对每个在执行任务,执行本方法实施例的电子设备在每个在执行任务开始执行时,记录其开始运行时间,在结束执行或被打断时记录其结束运行时间,从而可以确定每个在执行任务的单次运行时长为结束运行时间与开始运行时间之差。将单次运行时间累加,可以得到第一运行时长和第二运行时长。
可选的,响应于看门狗超时之前,本申请实施例提供的异常现场信息存储方法还可以包括:重置在执行任务在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
示例性地,在看门狗超时之前,在执行任务处于正常运行状态,可以在一个或多个在执行任务中进行喂狗,喂狗后重置在执行任务的在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
该步骤中,在看门狗超时时间内没有进行喂狗,则响应于看门狗超时,中断在执行任务,并获取在执行任务的第一运行时长和第二运行时长。
S402、根据第一运行时长确定第一平均运行时长,以及根据第二运行时长确定第二平均运行时长。
该步骤中,在获取到在执行任务的第一运行时长和第二运行时长后,可以根据第一运行时长确定第一平均运行时长,以及根据第二运行时长确定第二平均运行时长。
进一步地,可选的,根据第一运行时长确定第一平均运行时长,可以包括:确定在当前时刻之前的第一系统运行时长;确定第一平均运行时长为第一运行时长与第一系统运行时长的比值。
示例性地,以车载嵌入式系统为例,可以调用系统时间中断来确定车载嵌入式系统在当前时刻之前的第一系统运行时长,并确定第一平均运行时长为第一运行时长与第一系统运行时长的比值。需要说明的是,可以配置系统时间中断为较高的优先级,用于周期性地计算在执行任务的第一平均运行时长。
进一步地,可选的,根据第二运行时长确定第二平均运行时长,可以包括:确定在当前时刻与上次喂狗时刻之间的第二系统运行时长;确定第二平均运行时长为第二运行时长与第二系统运行时长的比值。
示例性地,以车载嵌入式系统为例,可以调用系统时间中断来确定车载嵌入式系统在当前时刻与上次喂狗时刻之间的第二系统运行时长,并可以调用看门狗超时中断来确定第二平均运行时长为第二运行时长与第二系统运行时长的比值。
S403、根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,运行时长信息包括第一平均运行时长以及第二平均运行时长。
该步骤中,在确定了第一平均运行时长和第二平均运行时长后,可以调用看门狗超时中断来根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,即堆栈信息、第一平均运行时长以及第二平均运行时长。
进一步地,可选的,根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,可以包括:确定第一平均运行时长和第二平均运行时长的差值;确定在执行任务中运行异常的目标任务为差值大于设定阈值的任务。
示例性地,基于上述图3,可以通过分析在执行任务运行时长的变化来定位触发看门狗重启的原因,因此,在确定了第一平均运行时长和第二平均运行时长后,可以调用看门狗超时中断来确定第一平均运行时长和第二平均运行时长的差值,进而可以确定在执行任务中运行异常的目标任务为差值大于设定阈值的任务,并保存目标任务的堆栈信息。
本申请实施例提供的异常现场信息的存储方法,通过响应于看门狗超时,中断在执行任务,并获取在执行任务的第一运行时长和第二运行时长,第一运行时长为在执行任务的总运行时长,第二运行时长为在执行任务在当前时刻与上次喂狗时刻之间的运行时长;根据第一运行时长确定第一平均运行时长,以及根据第二运行时长确定第二平均运行时长;根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,运行时长信息包括第一平均运行时长以及第二平均运行时长。由于本申请实施例在看门狗超时时刻,根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,因此,能够准确地获得异常现场信息,进而可以用于准确地定位看门狗重启触发原因,提高定位效率。
在上述实施例的基础上,图5为本申请另一实施例提供的看门狗重启触发原因的定位方法的流程图,如图5所示,本申请实施例的方法可以包括:
S501、获取在执行任务的运行时长。
示例性地,可以在每个在执行任务开始执行时,记录其开始运行时间,在结束执行或被打断时记录其结束运行时间,从而可以确定每个在执行任务的单次运行时长为结束运行时间与开始运行时间之差。将单次运行时间累加,可以得到在执行任务的运行时长。可以理解,在看门狗超时前,系统处于正常运行状态,则可以通过上述方式得到在执行任务的总运行时长(即第一运行时长)以及在执行任务在两次喂狗之间的运行时长;在看门狗超时时刻,系统处于异常运行状态,则可以通过上述方式得到第一运行时长以及在执行任务在看门狗超时时刻与上次喂狗时刻之间的运行时长。
S502、确定第一平均运行时长。
示例性地,可以调用系统时间中断来周期性地确定第一平均运行时长。
S503、确定是否在看门狗超时前喂狗。
示例性地,在一个或多个在执行任务中进行喂狗,若确定在看门狗超时前未进行喂狗,则执行S504至S506步骤;若确定在看门狗超时前进行了喂狗,则执行S507步骤。
S504、响应于看门狗超时,中断在执行任务,确定第二平均运行时长;根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息。
其中,异常现场信息包括堆栈信息、第一平均运行时长以及第二平均运行时长。
示例性地,可以调用看门狗超时中断来确定第二平均运行时长,并确定第一平均运行时长和第二平均运行时长的差值,进而确定在执行任务中运行异常的目标任务为差值大于设定阈值的任务,保存目标任务的异常现场信息。
S505、响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息。
S506、根据异常现场信息,定位看门狗重启触发原因。
S507、重置在执行任务在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
本申请实施例提供的看门狗重启触发原因的定位方法,在看门狗重启前存储了在执行任务运行异常时的异常现场信息,从而可以在看门狗重启完成时,获取该异常现场信息,用于定位看门狗重启触发原因,而不需要由人工通过尝试再现异常来分析看门狗重启触发原因,因此,能够大大提高看门狗重启触发原因的定位效率,有效减少定位看门狗重启触发原因过程中花费的时间与人力成本。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
图6为本申请一实施例提供的看门狗重启触发原因的定位装置的结构示意图,如图6所示,本申请实施例的看门狗重启触发原因的定位装置600包括:获取模块601和处理模块602。其中:
获取模块601,用于响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,目标任务为看门狗超时运行异常的在执行任务,异常现场信息包括堆栈信息和运行时长信息。
处理模块602,用于根据异常现场信息,定位看门狗重启触发原因。
在一些实施例中,看门狗重启触发原因的定位装置还包括存储模块603,用于通过以下方式存储异常现场信息:响应于看门狗超时,中断在执行任务,并获取在执行任务的第一运行时长和第二运行时长,第一运行时长为在执行任务的总运行时长,第二运行时长为在执行任务在当前时刻与上次喂狗时刻之间的运行时长;根据第一运行时长确定第一平均运行时长,以及根据第二运行时长确定第二平均运行时长;根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务,并保存目标任务的异常现场信息,运行时长信息包括第一平均运行时长以及第二平均运行时长。
可选的,在执行任务是按照预设优先级执行的。
可选的,存储模块603在用于根据第一平均运行时长和第二平均运行时长,确定在执行任务中运行异常的目标任务时,可以具体用于:确定第一平均运行时长和第二平均运行时长的差值;确定在执行任务中运行异常的目标任务为差值大于设定阈值的任务。
可选的,存储模块603在用于根据第一运行时长确定第一平均运行时长时,可以具体用于:确定在当前时刻之前的第一系统运行时长;确定第一平均运行时长为第一运行时长与第一系统运行时长的比值。
可选的,存储模块603在用于根据第二运行时长确定第二平均运行时长时,可以具体用于:确定在当前时刻与上次喂狗时刻之间的第二系统运行时长;确定第二平均运行时长为第二运行时长与第二系统运行时长的比值。
在一些实施例中,看门狗重启触发原因的定位装置还包括重置模块604,用于在响应于看门狗超时之前,重置在执行任务在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
可选的,运行时长信息用于确定触发看门狗重启的任务;堆栈信息用于确定看门狗超时时刻触发看门狗重启的任务正在执行的函数。
可选的,处理模块602可以具体用于:输出异常现场信息,以通过人工方式定位看门狗重启触发原因。
本申请实施例的装置,可以用于执行上述任一所示方法实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图7为本申请一实施例提供的电子设备的结构示意图。如图7所示,该电子设备700可以包括:至少一个处理器701和存储器702。
存储器702,用于存放程序。具体地,程序可以包括程序代码,程序代码包括计算机执行指令。
存储器702可能包含高速随机存取存储器(Random Access Memory,RAM),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
处理器701用于执行存储器702存储的计算机执行指令,以实现前述方法实施例所描述的看门狗重启触发原因的定位方法。其中,处理器701可能是一个中央处理器(CentralProcessing Unit,CPU),或者是专用集成电路(Application Specific IntegratedCircuit,ASIC),或者是被配置成实施本申请实施例的一个或多个集成电路。具体的,在实现前述方法实施例所描述的看门狗重启触发原因的定位方法时,该电子设备例如可以是车辆上的电子控制单元。
可选的,该电子设备700还可以包括通信接口703。在具体实现上,如果通信接口703、存储器702和处理器701独立实现,则通信接口703、存储器702和处理器701可以通过总线相互连接并完成相互间的通信。总线可以是工业标准体系结构(Industry StandardArchitecture,ISA)总线、外部设备互连(Peripheral Component,PCI)总线或扩展工业标准体系结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等,但并不表示仅有一根总线或一种类型的总线。
可选的,在具体实现上,如果通信接口703、存储器702和处理器701集成在一块芯片上实现,则通信接口703、存储器702和处理器701可以通过内部接口完成通信。
本申请还提供一种计算机可读存储介质,计算机可读存储介质中存储有计算机程序指令,当处理器执行计算机程序指令时,实现如上的看门狗重启触发原因的定位方法的方案。
本申请还提供一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现如上的看门狗重启触发原因的定位方法的方案。
上述的计算机可读存储介质,上述可读存储介质可以是由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random AccessMemory,SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable ReadOnly Memory,EEPROM),可擦除可编程只读存储器(Erasable Programmable Read OnlyMemory,EPROM),可编程只读存储器(Programmable Read Only Memory,PROM),只读存储器(Read Only Memory,ROM),磁存储器,快闪存储器,磁盘或光盘。可读存储介质可以是通用或专用计算机能够存取的任何可用介质。
一种示例性的可读存储介质耦合至处理器,从而使处理器能够从该可读存储介质读取信息,且可向该可读存储介质写入信息。当然,可读存储介质也可以是处理器的组成部分。处理器和可读存储介质可以位于专用集成电路中。当然,处理器和可读存储介质也可以作为分立组件存在于看门狗重启触发原因的定位装置中。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述各实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (12)
1.一种看门狗重启触发原因的定位方法,其特征在于,包括:
响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,所述目标任务为看门狗超时运行异常的在执行任务,所述异常现场信息包括堆栈信息和运行时长信息;
根据所述异常现场信息,定位看门狗重启触发原因。
2.根据权利要求1所述的看门狗重启触发原因的定位方法,其特征在于,所述异常现场信息是通过以下方式存储的:
响应于看门狗超时,中断在执行任务,并获取所述在执行任务的第一运行时长和第二运行时长,所述第一运行时长为所述在执行任务的总运行时长,所述第二运行时长为所述在执行任务在当前时刻与上次喂狗时刻之间的运行时长;
根据所述第一运行时长确定第一平均运行时长,以及根据所述第二运行时长确定第二平均运行时长;
根据所述第一平均运行时长和所述第二平均运行时长,确定所述在执行任务中运行异常的目标任务,并保存所述目标任务的异常现场信息,所述运行时长信息包括所述第一平均运行时长以及所述第二平均运行时长。
3.根据权利要求2所述的看门狗重启触发原因的定位方法,其特征在于,所述在执行任务是按照预设优先级执行的。
4.根据权利要求2所述的看门狗重启触发原因的定位方法,其特征在于,所述根据所述第一平均运行时长和所述第二平均运行时长,确定所述在执行任务中运行异常的目标任务,包括:
确定所述第一平均运行时长和所述第二平均运行时长的差值;
确定所述在执行任务中运行异常的目标任务为所述差值大于设定阈值的任务。
5.根据权利要求2至4中任一项所述的看门狗重启触发原因的定位方法,其特征在于,所述根据所述第一运行时长确定第一平均运行时长,包括:
确定在当前时刻之前的第一系统运行时长;
确定所述第一平均运行时长为所述第一运行时长与所述第一系统运行时长的比值。
6.根据权利要求2至4中任一项所述的看门狗重启触发原因的定位方法,其特征在于,所述根据所述第二运行时长确定第二平均运行时长,包括:
确定在当前时刻与上次喂狗时刻之间的第二系统运行时长;
确定所述第二平均运行时长为所述第二运行时长与所述第二系统运行时长的比值。
7.根据权利要求2至4中任一项所述的看门狗重启触发原因的定位方法,其特征在于,所述响应于看门狗超时之前,还包括:
重置所述在执行任务在当前次喂狗时刻与上次喂狗时刻之间的运行时长。
8.根据权利要求1至4中任一项所述的看门狗重启触发原因的定位方法,其特征在于,所述运行时长信息用于确定触发看门狗重启的任务;所述堆栈信息用于确定看门狗超时时刻所述触发看门狗重启的任务正在执行的函数。
9.根据权利要求1至4中任一项所述的看门狗重启触发原因的定位方法,其特征在于,所述根据所述异常现场信息,定位看门狗重启触发原因,包括:
输出所述异常现场信息,以通过人工方式定位看门狗重启触发原因。
10.一种看门狗重启触发原因的定位装置,其特征在于,包括:
获取模块,用于响应于看门狗重启完成,获取预先存储的目标任务的异常现场信息,所述目标任务为看门狗超时运行异常的在执行任务,所述异常现场信息包括堆栈信息和运行时长信息;
处理模块,用于根据所述异常现场信息,定位看门狗重启触发原因。
11.一种电子设备,其特征在于,包括:处理器,以及与所述处理器通信连接的存储器;
所述存储器存储计算机执行指令;
所述处理器执行所述存储器存储的计算机执行指令,以实现如权利要求1至9中任一项所述的看门狗重启触发原因的定位方法。
12.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机程序指令,所述计算机程序指令被处理器执行时,实现如权利要求1至9中任一项所述的看门狗重启触发原因的定位方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310178885.3A CN116302643A (zh) | 2023-02-28 | 2023-02-28 | 看门狗重启触发原因的定位方法、装置、设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310178885.3A CN116302643A (zh) | 2023-02-28 | 2023-02-28 | 看门狗重启触发原因的定位方法、装置、设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116302643A true CN116302643A (zh) | 2023-06-23 |
Family
ID=86823382
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310178885.3A Pending CN116302643A (zh) | 2023-02-28 | 2023-02-28 | 看门狗重启触发原因的定位方法、装置、设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116302643A (zh) |
-
2023
- 2023-02-28 CN CN202310178885.3A patent/CN116302643A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515820B (zh) | 一种服务器故障维护方法、装置、服务器及存储介质 | |
CN106682162B (zh) | 日志管理方法及装置 | |
CN109032822B (zh) | 一种死机信息的保存方法和装置 | |
CN107590016B (zh) | 掉电重启识别方法及装置 | |
CN104734979A (zh) | 一种路由器外接存储设备的控制方法 | |
CN112631820A (zh) | 软件系统的故障恢复方法及装置 | |
CN110851294B (zh) | 一种程序运行崩溃补救的方法及装置 | |
CN114756406A (zh) | 应用程序崩溃的处理方法、装置及电子设备 | |
JPH10214208A (ja) | ソフトウェアの異常監視方式 | |
CN111400087B (zh) | 一种操作系统的控制方法、终端以及存储介质 | |
CN111159051B (zh) | 死锁检测方法、装置、电子设备及可读存储介质 | |
CN115904793B (zh) | 一种基于多核异构系统的内存转存方法、系统及芯片 | |
CN116302643A (zh) | 看门狗重启触发原因的定位方法、装置、设备及存储介质 | |
CN113127245B (zh) | 一种系统管理中断的处理方法、系统及装置 | |
CN107273291B (zh) | 一种处理器调试方法及系统 | |
WO2023240944A1 (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
CN107179911B (zh) | 一种重启管理引擎的方法和设备 | |
JP5627414B2 (ja) | 動作ログ収集システム及びプログラム | |
CN115686899A (zh) | 一种终端异常捕获分析方法和装置 | |
CN111143127B (zh) | 监管网络设备的方法、装置、存储介质及设备 | |
CN115309585A (zh) | 数据恢复方法、装置、电子设备及存储介质 | |
CN113254281A (zh) | 一种usb控制器的检测方法及检测装置 | |
CN112395121A (zh) | 一种驱动加载的处理方法及装置、存储介质、计算机设备 | |
CN104572332A (zh) | 处理系统崩溃的方法和装置 | |
JP2017007539A (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 |