[发明专利]一种应用程序故障的定位方法有效

专利信息
申请号: 200410070762.5 申请日: 2004-07-26
公开(公告)号: CN1728106A 公开(公告)日: 2006-02-01
发明(设计)人: 董伟杰;王新余 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F11/36 分类号: G06F11/36
代理公司: 北京安信方达知识产权代理有限公司 代理人: 霍育栋;龙洪
地址: 518057广东省深圳市南山区*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要: 发明公开一种应用程序故障的定位方法,包括以下步骤:应用程序编译时,为自编码函数做一个在入口处调用的钩子函数;程序启动后,建立该程序的进程共享内存区,并为每一个线程分配线程共享内存区;运行到所述自编码函数时调用钩子函数,将当前的执行指令地址标记(EIP)和当前运行函数返回地址标记(RET)压入相应线程共享内存区的堆栈区,并将程序堆栈中的RET修改为隐式调用函数的入口地址;函数返回时自动调用隐式调用函数,将压入的EIP和RET弹出,并恢复程序堆栈的RET;程序发生故障退出后,根据所述堆栈区的当前指针可获得应用程序正在运行的函数和嵌套层次,即使应用程序堆栈被破坏,也能实现对故障的准确定位。
搜索关键词: 一种 应用程序 故障 定位 方法
【主权项】:
1、一种应用程序故障的定位方法,包括以下步骤:(a)在应用程序编译时,为每一个自编码函数生成一个在函数入口处调用的钩子函数,并提供一个在自编码函数返回时调用的隐式调用函数;(b)该应用程序启动后,建立该应用程序的进程共享内存区,在该进程共享内存区中为该应用程序的每一个线程分配一个线程共享内存区;(c)该应用程序运行到所述自编码函数时调用该钩子函数;(d)该钩子函数取得当前执行指令的地址标记和当前运行函数的返回地址标记,压入相应线程共享内存区的堆栈区,同时将该应用程序堆栈中当前运行函数的返回地址修改为该隐式调用函数的入口地址;(e)当前运行函数返回时自动调用该隐式调用函数,该隐式调用函数将压入的当前执行指令的地址标记和当前运行函数的返回地址标记弹出,并在该应用程序堆栈区中恢复当前运行函数的返回地址;(f)程序继续运行,在每一自编码函数调用均采用步骤(c)到步骤(d)的方法处理,如果程序正常退出,释放该应用程序的进程共享内存区,结束;如果发生故障退出,执行下一步;(g)保存该应用程序的进程共享内存的数据,根据所述堆栈区的当前指针获得应用程序正在运行的函数和嵌套层次,对故障进行准确定位。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/200410070762.5/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top