[发明专利]死循环的定位方法、装置、计算机设备和存储介质有效
申请号: | 201811612920.3 | 申请日: | 2018-12-27 |
公开(公告)号: | CN109766273B | 公开(公告)日: | 2022-09-27 |
发明(设计)人: | 董时舫 | 申请(专利权)人: | 百富计算机技术(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36;G06F9/48 |
代理公司: | 华进联合专利商标代理有限公司 44224 | 代理人: | 方高明 |
地址: | 518051 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 循环 定位 方法 装置 计算机 设备 存储 介质 | ||
本申请涉及一种死循环的定位方法、装置、计算机设备和存储介质。方法包括:当检测到外部中断服务程序出现死循环时,触发快速中断服务程序中断外部中断服务程序,获取通过触发快速中断服务程序中断外部中断服务程序时所产生的中断结果,获取触发快速中断服务程序中断外部中断服务程序的触发次数,当触发次数小于预设触发次数时,再次触发快速中断服务程序中断外部中断服务程序,生成与中断结果对应的中断信息,并生成与中断信息对应的反汇编代码,根据中断信息对应的断点地址以及反汇编代码定位外部中断服务程序的死循环位置。通过触发快速中断服务程序来对出现死循环的外部中断服务程序进行中断,并根据反汇编代码对死循环进行定位,可以提高死循环的定位效率。
技术领域
本申请涉及计算机技术领域,特别是涉及一种死循环的定位方法、装置、计算机设备和存储介质。
背景技术
当计算机中的处理器正在处理内部数据时,外界出现了紧急事件,计算机会要求处理器暂停当前的工作去处理紧急事件,处理完毕后,处理器可以再回到原来被中断的地址,继续原来的工作,这样的过程称为中断。计算机在使用中断服务程序进行中断时,可以使用外部中断服务程序进行常规中断事务处理,外部中断服务程序可以同时支持多种中断源,且外部中断服务程序的运行优先级高于非中断程序,当外部中断服务程序被触发时即开始运行相应的服务程序。外部中断服务程序进行中断时,有可能会陷入死循环,导致中断过程异常,将完全或几乎完全地占用CPU的运行时间,往往需要定位到死循环发生的位置,才能使中断过程恢复正常。在传统的方法中,可以通过硬件调试工具对死循环进行定位,例如,可以采用JTAG硬件调试工具对死循环进行定位,这种死循环的定位方式需要CPU要具备JTAG接口。还可以在中断服务程序的中断断点位插入调试信息输出语句来实现对死循环的定位。
然而,目前对死循环的定位方法非常繁琐,导致死循环的定位效率较低。
发明内容
基于此,有必要针对上述技术问题,提供一种死循环的定位方法、装置、计算机设备和存储介质,可以提高死循环的定位效率。
一种死循环的定位方法,所述方法包括:
当检测到外部中断服务程序出现死循环时,触发快速中断服务程序中断所述外部中断服务程序;
获取通过触发快速中断服务程序中断所述外部中断服务程序时所产生的中断结果;
获取触发所述快速中断服务程序中断所述外部中断服务程序的触发次数;
当所述触发次数小于预设触发次数时,执行所述触发快速中断服务程序中断所述外部中断服务程序的步骤;获取每次产生的中断结果,并根据获取的中断结果生成中断信息;
根据所述中断信息生成反汇编代码;
获取与所述中断信息对应的的断点地址,根据所述断点地址以及所述反汇编代码定位所述外部中断服务程序的死循环位置。
在其中一个实施例中,所述方法还包括:
遍历中断源;
从所述中断源中确定符合预设条件的目标中断源;
所述当检测到外部中断服务程序出现死循环时,触发快速中断服务程序中断所述外部中断服务程序,包括:
当检测到外部中断服务程序出现死循环时,通过所述目标中断源触发快速中断服务程序中断所述外部中断服务程序。
在其中一个实施例中,所述方法还包括:
获取与所述目标中断源对应的中断源程序,并将所述中断源程序写入所述快速中断服务程序;
提取所述中断源程序中的中断处理子程序;
所述通过所述目标中断源触发快速中断服务程序中断所述外部中断服务程序,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百富计算机技术(深圳)有限公司,未经百富计算机技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201811612920.3/2.html,转载请声明来源钻瓜专利网。