[发明专利]基于中断的固件异常诊断方法、装置、计算机设备及存储介质在审
申请号: | 202210880287.6 | 申请日: | 2022-07-25 |
公开(公告)号: | CN115185734A | 公开(公告)日: | 2022-10-14 |
发明(设计)人: | 周维;罗宗扬;张佳磊 | 申请(专利权)人: | 苏州忆联信息系统有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F9/48 |
代理公司: | 深圳市精英专利事务所 44242 | 代理人: | 冯筠 |
地址: | 215000 江苏省苏州市中国(江苏)自由贸*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 中断 异常 诊断 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及基于中断的固件异常诊断方法、装置、计算机设备及存储介质,该方法,包括:运行固件;判断运行固件是否进入死循环状态;若运行固件进入死循环状态,则触发外部中断,以使CPU进入中断模式;根据中断模式,转储用户调用栈;根据调用栈,分析调用路径,以得到分析结果。本发明通过触发中断,在中断模式中转储用户调用栈,从而分析得到固件的调用路径及传递的参数,找出固件设计缺陷。
技术领域
本发明涉及固件异常诊断技术领域,尤其是指基于中断的固件异常诊断方法、装置、计算机设备及存储介质。
背景技术
在没有调试器的情况,固件的逻辑异常通常难以分析和定位。例如,由于固件设计的缺陷,在某种命令序列触发下,固件进入到了一种死循环状态,此时CPU无法回应外部请求,无法获取进一步的诊断信息。
发明内容
本发明的目的在于克服现有技术的不足,提供基于中断的固件异常诊断方法、装置、计算机设备及存储介质。
为了解决上述技术问题,本发明采用如下技术方案:
第一方面,本实施例提供了一种基于中断的固件异常诊断方法,包括以下步骤:
运行固件;
判断运行固件是否进入死循环状态;
若运行固件进入死循环状态,则触发外部中断,以使CPU进入中断模式;
根据中断模式,转储用户调用栈;
根据调用栈,分析调用路径,以得到分析结果。
其进一步技术方案为:所述判断运行固件是否进入死循环状态步骤之后,还包括:若运行固件未进入死循环状态,则跳转执行所述运行固件。
其进一步技术方案为:所述触发外部中断,以使CPU进入中断模式步骤中,通过拉低或拉高GPIO,或通过其他CPU发送IPC信息触发外部中断。
其进一步技术方案为:所述根据调用栈,分析调用路径,以得到分析结果步骤之后,还包括:根据分析结果,解析固件进入死循环的原因。
第二方面,本实施例提供了一种基于中断的固件异常诊断装置,包括:运行单元,判断单元,触发进入单元,调用单元及分析单元;
所述运行单元,用于运行固件;
所述判断单元,用于判断运行固件是否进入死循环状态;
所述触发进入单元,用于若运行固件进入死循环状态,则触发外部中断,以使CPU进入中断模式;
所述调用单元,用于根据中断模式,转储用户调用栈;
所述分析单元,用于根据调用栈,分析调用路径,以得到分析结果。
其进一步技术方案为:还包括:跳转单元,用于若运行固件未进入死循环状态,则跳转执行所述运行固件。
其进一步技术方案为:所述触发进入单元中,通过拉低或拉高GPIO,或通过其他CPU发送IPC信息触发外部中断。
其进一步技术方案为:还包括:解析单元,用于根据分析结果,解析固件进入死循环的原因。
第三方面,本实施例提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上述所述的基于中断的固件异常诊断方法。
第四方面,本实施例提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序包括程序指令,所述程序指令当被处理器执行时可实现如上述所述的基于中断的固件异常诊断方法。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于苏州忆联信息系统有限公司,未经苏州忆联信息系统有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210880287.6/2.html,转载请声明来源钻瓜专利网。