本发明涉及异常信息处理领域,尤其涉及异常处理方法、异常处理装置及计算机可读存储介质。
背景技术:
1、在小中型嵌入式系统中,当系统出现崩溃时,通常需要通过反汇编、查看通用寄存器值、查看函数调用栈等手段才能定位崩溃问题。上述手段需要使用调试工具或调试器来完成,在芯片sdk(software development kit,软件开发工具包)中,通常会提供相应的调试工具或调试器,开发人员可以使用调试命令、调试指令,或者通过工具界面上的相应功能来完成这些操作。
2、然而,不同的芯片sdk可能采用不同的调试工具或调试器,其具体操作和功能可能会有所不同,开发人员需要在不同的芯片sdk中需要使用不同的工具和方法来进行问题定位,导致中小型嵌入式系统出现崩溃时,异常处理效率较低。
3、上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
技术实现思路
1、本发明的主要目的在于提供一种异常处理方法、异常处理装置及计算机可读存储介质,解决现有技术中,中小型嵌入式系统出现崩溃时,异常处理效率较低的问题。
2、为实现上述目的,本发明提供一种异常处理方法,所述方法包括以下步骤:
3、在监测到内核模块触发指令异常、栈溢出异常信息,和应用层检测到的客户端异常中的至少一个时,控制所述内核模块和/或所述应用层生成恐慌信息,并将所述恐慌信息发送至核心模块;
4、在所述核心模块接收到所述恐慌信息时,中断所述核心模块当前的处理函数,并控制所述核心模块进入恐慌模式;
5、控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息;
6、将所述目标异常信息反馈至所述应用层和/或显示层。
7、可选地,所述控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息的步骤之前,还包括:
8、控制所述内核模块执行异常回调函数,得到多个寄存器信息以及函数调用栈,并将多个所述寄存器信息,以及所述函数调用栈作为所述异常信息,发送至所述核心模块;或者
9、控制所述应用层执行所述异常回调函数,得到多个所述寄存器信息,并将多个所述寄存器信息作为所述异常信息,发送至所述核心模块。
10、可选地,所述控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息的步骤之前,还包括:
11、控制所述核心模块向所述内核模块和/或所述应用层,发送崩溃信息检测指令,以使所述内核模块和所述应用层生成所述异常信息。
12、可选地,所述控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息的步骤包括:
13、控制所述核心模块启动所述异常处理程序,并获取所述核心模块进入所述恐慌模式时接收到的所述异常信息;
14、根据所述异常信息确定异常类型,以及所述异常类型对应的异常场景信息;
15、根据所述异常类型以及所述异常场景信息,确定异常处理代码,并将所述异常处理代码作为所述目标异常信息。
16、可选地,所述根据所述异常类型以及所述异常场景信息,确定异常处理代码的步骤包括:
17、根据所述异常类型,解析所述异常场景信息的寄存器信息,得到所述寄存器的处理信息;
18、根据所述处理信息确定的所述异常处理代码。
19、可选地,所述将所述目标异常信息反馈至所述应用层和/或显示层的步骤包括:
20、确定所述目标异常信息的目标异常类型;
21、在所述目标异常类型为内核级异常时,确定所述异常处理代码对应的代码处理日志;
22、基于串口将所述代码处理日志打印至目标设备中,在所述显示层的显示设备中输出所述代码处理日志,及所述代码处理日志对应的异常信息。
23、可选地,所述基于所述异常类型将所述异常处理代码反馈至所述应用层,和/或所述显示层的步骤还包括:
24、在所述目标异常类型为用户级异常时,对所述异常处理代码做常规修复处理,并在所述常规修复处理的结果为修复失败时,将所述异常处理代码反馈至所述应用层;或者
25、在所述目标异常类型为内核级异常和用户级异常时,执行对所述异常处理代码做常规修复处理的步骤,并在接收到所述应用层反馈的修复失败信息时,执行所述确定所述异常处理代码对应的代码处理日志的步骤;或者
26、在所述目标异常类型为内核级异常和用户级异常时,执行所述确定所述异常处理代码对应的代码处理日志的步骤以及执行所述对所述异常处理代码做常规修复处理的步骤。
27、可选地,所述控制所述内核模块和/或所述应用层生成恐慌信息,并将所述恐慌信息发送至核心模块的步骤包括:
28、基于直连串口控制所述内核模块将所述恐慌信息发送至所述核心模块;和/或
29、基于用户应用程序模块控制所述应用层将所述恐慌信息发送至所述核心模块。
30、此外,为实现上述目的,本发明还提供一种异常处理装置,所述异常处理装置包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异常处理程序,所述异常处理程序被所述处理器执行时实现如上所述的异常处理方法的步骤。
31、此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有异常处理程序,所述异常处理程序被处理器执行时实现如上所述的异常处理方法的步骤。
32、本发明实施例提供了异常处理方法、异常处理装置及计算机可读存储介质,在监测到内核模块触发指令异常、栈溢出异常信息,和应用层检测到的客户端异常中的至少一个时,控制所述内核模块和/或所述应用层生成恐慌信息,并将所述恐慌信息发送至核心模块,在所述核心模块接收到所述恐慌信息时,中断所述核心模块当前的处理函数,并控制所述核心模块进入恐慌模式,随后控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息,接着将所述目标异常信息反馈至所述应用层和/或显示层。可以看出,通过在监测内核模块以及应用层的相关信息,在其内核触发异常或应用层检测到异常时,生成让核心模块进入恐慌模式的恐慌信息,进而保障核心模块能够提前准确获悉到当前的异常信息,并及时将异常信息反馈至应用层或显示层,进而提高中小型嵌入式系统出现崩溃时的异常处理效率。
1.一种异常处理方法,其特征在于,所述异常处理方法包括:
2.如权利要求1所述的异常处理方法,其特征在于,所述控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息的步骤之前,还包括:
3.如权利要求1所述的异常处理方法,其特征在于,所述控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息的步骤之前,还包括:
4.如权利要求1所述的异常处理方法,其特征在于,所述控制所述核心模块启动异常处理程序,并基于所述异常处理程序对所述核心模块进入所述恐慌模式时获取的异常信息进行处理,得到目标异常信息的步骤包括:
5.如权利要求4所述的异常处理方法,其特征在于,所述根据所述异常类型以及所述异常场景信息,确定异常处理代码的步骤包括:
6.如权利要求4所述的异常处理方法,其特征在于,所述将所述目标异常信息反馈至所述应用层和/或显示层的步骤包括:
7.如权利要求6所述的异常处理方法,其特征在于,所述基于所述异常类型将所述异常处理代码反馈至所述应用层,和/或所述显示层的步骤还包括:
8.如权利要求1所述的异常处理方法,其特征在于,所述控制所述内核模块和/或所述应用层生成恐慌信息,并将所述恐慌信息发送至核心模块的步骤包括:
9.一种异常处理装置,其特征在于,所述装置包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的异常处理程序,所述异常处理程序被所述处理器执行时实现如权利要求1至8中任一项所述的异常处理方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有异常处理程序,所述异常处理程序被处理器执行时实现如权利要求1至8中任一项所述的异常处理方法的步骤。