[发明专利]故障定位方法、装置和系统有效
申请号: | 201810998164.6 | 申请日: | 2018-08-29 |
公开(公告)号: | CN110874279B | 公开(公告)日: | 2023-05-30 |
发明(设计)人: | 杨骁 | 申请(专利权)人: | 阿里巴巴集团控股有限公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07;G06F11/14 |
代理公司: | 北京博浩百睿知识产权代理有限责任公司 11134 | 代理人: | 褚敏;宋子良 |
地址: | 英属开曼群岛大开*** | 国省代码: | 暂无信息 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 故障 定位 方法 装置 系统 | ||
1.一种故障定位方法,包括:
如果检测到系统出现故障,打印内核栈的栈区域和用户栈的栈区域,得到打印结果;
存储所述打印结果,并控制系统重启;
如果所述系统重启,基于所述打印结果确定故障类型;
其中,所述基于所述打印结果确定故障类型包括:对所述打印结果进行解析,确定发生系统故障的地址信息;对所述打印结果进行反汇编处理,得到所述地址信息对应的函数信息;基于所述函数信息,确定所述故障类型。
2.根据权利要求1所述的方法,其中,打印内核栈的栈区域和用户栈的栈区域,得到打印结果,包括:
获取预设的打印长度;
按照所述预设的打印长度,逐字节打印所述内核栈的栈区域和所述用户栈的栈区域。
3.根据权利要求2所述的方法,其中,在打印所述内核栈的栈区域和所述用户栈的栈区域的同时,打印处理器寄存器,得到所述打印结果。
4.根据权利要求1所述的方法,其中,存储所述打印结果包括:
将所述打印结果存储在如下任意一种或多种存储介质中:随机存储器和外部存储闪存。
5.根据权利要求1所述的方法,其中,对所述打印结果进行解析,确定发生系统故障的地址信息,包括:
对所述打印结果进行解析,确定中断服务程序对应的栈帧;
获取与所述栈帧的栈顶距离预设长度的数据,得到所述地址信息。
6.根据权利要求1所述的方法,其中,在所述系统重启之后,将所述打印结果上传服务器,并由所述服务器基于所述打印结果得到所述故障类型。
7.根据权利要求1所述的方法,其中,检测所述系统是否出现故障,包括:
判断计数器的当前计数值是否超过第一预设值;
如果确定所述当前计数值超过所述第一预设值,则确定所述系统出现故障;
如果确定所述当前计数值未超过所述第一预设值,则确定所述系统未出现故障。
8.根据权利要求7所述的方法,其中,在检测到第一预设线程运行的情况下,控制所述计数器的当前计数值增加第二预设值,其中,所述第一预设线程每隔预设时间段运行。
9.根据权利要求8所述的方法,其中,在检测到第二预设线程运行的情况下,控制所述计数器清零。
10.根据权利要求9所述的方法,其中,所述第一预设线程的运行优先级最高,所述第二预设线程的运行优先级最低。
11.根据权利要求10所述的方法,其中,所述第一预设线程为时钟中断线程。
12.一种故障定位装置,包括:
打印模块,用于如果检测到系统出现故障,打印内核栈的栈区域和用户栈的栈区域,得到打印结果;
存储模块,用于存储所述打印结果,并控制系统重启;
确定模块,用于如果所述系统重启,基于所述打印结果确定故障类型;
所述确定模块还用于:对所述打印结果进行解析,确定发生系统故障的地址信息;对所述打印结果进行反汇编处理,得到所述地址信息对应的函数信息;基于所述函数信息,确定所述故障类型。
13.一种存储介质,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行如下步骤:如果检测到系统出现故障,打印内核栈的栈区域和用户栈的栈区域,得到打印结果;存储所述打印结果,并控制系统重启;如果所述系统重启,基于所述打印结果确定故障类型;其中,所述基于所述打印结果确定故障类型包括:对所述打印结果进行解析,确定发生系统故障的地址信息;对所述打印结果进行反汇编处理,得到所述地址信息对应的函数信息;基于所述函数信息,确定所述故障类型。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于阿里巴巴集团控股有限公司,未经阿里巴巴集团控股有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810998164.6/1.html,转载请声明来源钻瓜专利网。