【技术实现步骤摘要】
死循环定位方法、装置、计算机设备和存储介质
本申请涉及计算机
,特别是涉及一种死循环定位方法、装置、计算机设备和存储介质。
技术介绍
在计算机系统的软件程序运行过程中,系统程序或应用程序等程序有时会发生死循环异常,因而需要跟踪定位死循环异常产生的部位和根本原因并加以解决。所谓死循环异常,是指程序一直停留在某个状态,像僵死了一样,不再向预期的后续流程执行,但底层系统及其输入、输出设备(例如按键、串口等)仍然处于正常工作或可正常工作状态。目前,通过断点采样法,即通过触发某个中断进而获取中断断点地址来对程序进行采样定位死循环时,若程序中包括对公共函数,尤其是耗时公共函数等代码的大量重复调用时,采样断点地址容易落在公共函数中,无法有效定位出死循环的准确位置,需要反复进行采样处理,导致死循环的定位效率较低。
技术实现思路
基于此,有必要针对上述技术问题,提供一种能够提高死循环定位效率的死循环定位方法、装置、计算机设备和存储介质。一种死循环定位方法,所述方法包括:当检测到死循环时,触发第 ...
【技术保护点】
1.一种死循环定位方法,所述方法包括:/n当检测到死循环时,触发第一中断程序;/n获取通过触发所述第一中断程序所产生的第一中断结果;/n基于所述第一中断结果执行第二中断程序,所述第二中断程序的中断周期的数量级不大于指令执行周期的数量级;/n获取通过触发所述第二中断程序所产生的第二中断结果,并根据所述第二中断结果确定触发所述死循环对应的死循环位置。/n
【技术特征摘要】
1.一种死循环定位方法,所述方法包括:
当检测到死循环时,触发第一中断程序;
获取通过触发所述第一中断程序所产生的第一中断结果;
基于所述第一中断结果执行第二中断程序,所述第二中断程序的中断周期的数量级不大于指令执行周期的数量级;
获取通过触发所述第二中断程序所产生的第二中断结果,并根据所述第二中断结果确定触发所述死循环对应的死循环位置。
2.根据权利要求1所述的方法,其特征在于,所述基于所述第一中断结果执行第二中断程序包括:
从所述第一中断结果中确定所述死循环对应的死循环进程;
触发第二中断程序对所述死循环进程进行中断处理。
3.根据权利要求2所述的方法,其特征在于,所述触发第二中断程序对所述死循环进程进行中断处理包括:
触发第二中断程序,并确定所述第二中断程序的当前中断进程和所述当前中断进程对应的第二进程识别标识;
当所述第二进程识别标识与所述死循环进程对应的第一进程识别标识相同时,通过所述第二中断程序对所述死循环进程进行中断处理。
4.根据权利要求3所述的方法,其特征在于,所述通过所述第二中断程序对所述死循环进程进行中断处理包括:
确定所述死循环进程中函数体的起始地址和截止地址;
根据所述起始地址和所述截止地址确定所述函数体的地址范围;
当所述第二中断程序的当前断点地址在所述函数体的地址范围之外时,确定所述当前断点地址对应的相对地址,根据所述相对地址得到第二中断结果。
5.根据权利要求4所述的方法,其特征在于,所述确定所述当前断点地址对应的相对地址包括:
确定所述死循环进程的起始地址;
根据所述当前断点地址和所述死循环进程的起始地址得到所述当前断点地址对应的相对地址。
6.根据权利要求4所述的方法,其特征在于,在根据所述相对地址得到第二中断结果之后,还包括:
将连续输出计数加1,获得更新后的连续输出计数;
当更新后的连续输出计数不小于预设的连续输出阈值时,退...
【专利技术属性】
技术研发人员:董时舫,
申请(专利权)人:百富计算机技术深圳有限公司,
类型:发明
国别省市:广东;44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。