[发明专利]死循环定位方法、装置、计算机设备和存储介质有效
申请号: | 201911131142.0 | 申请日: | 2019-11-19 |
公开(公告)号: | CN110928778B | 公开(公告)日: | 2023-09-15 |
发明(设计)人: | 董时舫 | 申请(专利权)人: | 百富计算机技术(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/48 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 杨欢 |
地址: | 518051 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 循环 定位 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种死循环定位方法、装置、计算机设备和存储介质。所述方法包括:当检测到死循环时,触发第一中断程序;获取通过触发第一中断程序所产生的第一中断结果;基于第一中断结果执行第二中断程序,第二中断程序的中断周期的数量级不大于指令执行周期的数量级;获取通过触发第二中断程序所产生的第二中断结果,并根据第二中断结果确定触发死循环对应的死循环位置。采用本方法能够提高死循环的定位效率。
技术领域
本申请涉及计算机技术领域,特别是涉及一种死循环定位方法、装置、计算机设备和存储介质。
背景技术
在计算机系统的软件程序运行过程中,系统程序或应用程序等程序有时会发生死循环异常,因而需要跟踪定位死循环异常产生的部位和根本原因并加以解决。所谓死循环异常,是指程序一直停留在某个状态,像僵死了一样,不再向预期的后续流程执行,但底层系统及其输入、输出设备(例如按键、串口等)仍然处于正常工作或可正常工作状态。
目前,通过断点采样法,即通过触发某个中断进而获取中断断点地址来对程序进行采样定位死循环时,若程序中包括对公共函数,尤其是耗时公共函数等代码的大量重复调用时,采样断点地址容易落在公共函数中,无法有效定位出死循环的准确位置,需要反复进行采样处理,导致死循环的定位效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种能够提高死循环定位效率的死循环定位方法、装置、计算机设备和存储介质。
一种死循环定位方法,所述方法包括:
当检测到死循环时,触发第一中断程序;
获取通过触发第一中断程序所产生的第一中断结果;
基于第一中断结果执行第二中断程序,第二中断程序的中断周期的数量级不大于指令执行周期的数量级;
获取通过触发第二中断程序所产生的第二中断结果,并根据第二中断结果确定触发死循环对应的死循环位置。
在其中一个实施例中,基于第一中断结果执行第二中断程序包括:
从第一中断结果中确定死循环对应的死循环进程;
触发第二中断程序对死循环进程进行中断处理。
在其中一个实施例中,触发第二中断程序对死循环进程进行中断处理包括:
触发第二中断程序,并确定第二中断程序的当前中断进程和当前中断进程对应的第二进程识别标识;
当第二进程识别标识与死循环进程对应的第一进程识别标识相同时,通过第二中断程序对死循环进程进行中断处理。
在其中一个实施例中,通过第二中断程序对死循环进程进行中断处理包括:
确定死循环进程中函数体的起始地址和截止地址;
根据起始地址和截止地址确定函数体的地址范围;
当第二中断程序的当前断点地址在函数体的地址范围之外时,确定当前断点地址对应的相对地址,根据相对地址得到第二中断结果。
在其中一个实施例中,确定当前断点地址对应的相对地址包括:
确定死循环进程的起始地址;
根据当前断点地址和死循环进程的起始地址得到当前断点地址对应的相对地址。
在其中一个实施例中,在根据相对地址得到第二中断结果之后,还包括:
将连续输出计数加1,获得更新后的连续输出计数;
当更新后的连续输出计数不小于预设的连续输出阈值时,退出第二中断程序。
在其中一个实施例中,还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百富计算机技术(深圳)有限公司,未经百富计算机技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911131142.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:微电网电压一致性控制方法、装置
- 下一篇:一种建筑用浮石混凝土铺平浸湿器