[发明专利]应用程序死循环定位方法、装置、计算机设备和存储介质有效
申请号: | 201710318951.7 | 申请日: | 2017-05-08 |
公开(公告)号: | CN107220175B | 公开(公告)日: | 2020-01-21 |
发明(设计)人: | 董时舫;聂鹤宇 | 申请(专利权)人: | 百富计算机技术(深圳)有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 44224 广州华进联合专利商标代理有限公司 | 代理人: | 方高明 |
地址: | 518000 广东省深圳*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用程序 循环 定位 方法 装置 计算机 设备 存储 介质 | ||
本发明涉及一种应用程序死循环定位方法、装置、计算机设备和存储介质,所述方法包括:通过进程运行应用程序,当所述应用程序出现死循环时,中断所述进程;采集中断信息,利用所述中断信息计算被中断进程的相对地址;生成所述应用程序的反汇编代码,所述反汇编代码中包括反汇编地址;通过所述被中断进程的相对地址,查找所述反汇编地址中的反汇编目标地址,通过反汇编目标地址识别应用程序死循环的故障部位。通过本方法能够脱离对硬件调试工具的依赖以及有效提高故障部位定位灵活性。
技术领域
本发明涉及计算机技术领域,特别是涉及一种应用程序死循环定位方法、装置、计算机设备和存储介质。
背景技术
在计算机设备中通常安装了应用程序。应用程序在运行时可能会出现异常,例如,应用程序陷入死循环。死循环是指应用程序无法靠自身的控制终止其进程。当应用程序陷入死循环时,需要对死循环对应的故障部位进行定位,以便使应用程序能正常工作。
在传统的方式中,可以采用JTAG(Joint Test Action Group,联合测试行为组织)硬件调试工具对死循环的故障部位进行定位。但是这种定位方式需要被调试的CPU(Central Processing Unit,中央处理器)芯片要具备JTAG接口,若不具备JTAG接口,或者即使具备但CPU的JTAG接口引线未引出来,则无法对死循环的故障部位进行定位。由于这种方式对硬件依赖程度较高,定位操作受到局限,导致对故障部位定位的灵活性较差。
发明内容
基于此,有必要针对上述技术问题,提供一种既能脱离对硬件调试工具的依赖又能有效提高故障部位定位灵活性的应用程序死循环定位方法、装置、计算机设备和存储介质。
一种应用程序死循环定位方法,所述方法包括:
通过进程运行应用程序,当所述应用程序出现死循环时,中断所述进程;
采集中断信息,利用所述中断信息计算被中断进程的相对地址;
生成所述应用程序的反汇编代码,所述反汇编代码中包括反汇编地址;
通过所述被中断进程的相对地址,查找所述反汇编地址中的反汇编目标地址,通过反汇编目标地址识别应用程序死循环的故障部位。
在其中一个实施例中,所述中断信息包括被中断进程的绝对断点地址和被中断进程的结构指针;所述利用所述中断信息计算被中断进程的相对地址的步骤,包括:
利用所述被中断进程的结构指针获取所述被中断进程的进程名称;
利用所述被中断进程的结构指针获取进程被加载的起始地址;
通过所述被中断进程的绝对断点地址和所述进程被加载的起始地址计算所述被中断进程的相对地址。
在其中一个实施例中,所述方法还包括:
获取所述应用程序名称;
获取所述被中断进程的进程名称;
判断所述被中断进程的进程名称是否与所述应用程序名称一致;
若是,则记录所述中断信息为有效中断信息;
否则,丢弃所述中断信息。
在其中一个实施例中,所述通过所述被中断进程的相对地址,查找所述反汇编地址中的反汇编目标地址的步骤,包括:
获取所述相对地址;
获取所述反汇编代码中的反汇编地址;
判断所述反汇编地址是否与所述相对地址一致;
若是,则记录所述反汇编地址为反汇编目标地址。
在其中一个实施例中,所述方法还包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于百富计算机技术(深圳)有限公司,未经百富计算机技术(深圳)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710318951.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种电控锁
- 下一篇:一种基于预估缺陷的软件测试方法