[发明专利]嵌入式系统中进程异常跟踪定位的方法无效

专利信息
申请号: 200610167368.2 申请日: 2006-12-29
公开(公告)号: CN101211309A 公开(公告)日: 2008-07-02
发明(设计)人: 蒋鲲鹏;缪敬;马力 申请(专利权)人: 中兴通讯股份有限公司
主分类号: G06F11/36 分类号: G06F11/36;G06F9/46
代理公司: 北京中博世达专利商标代理有限公司 代理人: 王晶
地址: 518057广东省深圳市南山区*** 国省代码: 广东;44
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 嵌入式 系统 进程 异常 跟踪 定位 方法
【说明书】:

技术领域

发明涉及嵌入式系统中进程的异常处理方法,特别涉及到异常进程的异常信息处理,提取的方法。

背景技术

在高端嵌入式系统如PDA,智能手机中,要求提供诸如文字处理,GUI界面,媒体播放器等复杂应用,并且用户可以自行安装和卸载新的程序,比如游戏、工具等等。在传统的嵌入式操作系统已经不能够满足需要了。因此,在高端嵌入式系统都采用如Linux操作系统,WinCE操作系统这些更复杂的操作系统。与传统的嵌入式操作系统相比,这些操作系统具有以下特点:

1、内核运行空间和用户程序运行空间分开,使得用户进程的错误不会造成整个系统的崩溃,提高了系统运行的稳定性;

2、不同的用户进程运行在不同的地址空间,使得一个用户程序的错误不会影响到其他用户程序的运行,提高了系统运行的稳定性;

3、提供了虚拟地址和物理地址映射的管理,使得系统的内存访问更加安全;

4、提供复杂的文件系统支持,提供应用程序和运行库动态链接的能力,运行库和应用程序分开,从而使得系统具备了无限升级的能力。

与传统嵌入式系统一样,高端嵌入式系统中应用程序的开发和调试也采用交叉开发模式,应用程序的编辑、编译都在开发主机上,在程序编译完成后,生成的可执行文件会被下载到嵌入式系统中运行,嵌入式系统上会同时运行交叉调试代理,开发主机上的调试器通过和嵌入式系统上的调试代理通信来控制应用程序的启动、运行和停止。在用户进程发生异常时,常使用异常跟踪工具来跟踪和分析异常:用户程序在发生异常时,操作系统内核运行一般是会正常工作的,内核可以把用户程序发生异常的相关信息保存为文件,利用这些异常信息文件,再结合用户程序的调试版本文件,利用异常跟踪工具(如GDB调试器的异常文件调试功能等)就可以对发生异常的代码进行错误定位。使用异常跟踪工具,可以直接定位到发生异常的函数源代码,得到异常发生的堆栈调用顺序,异常发生时的变量值。因此在用户程序的开发阶段非常有用。但是,这类工具有如下缺点:

1、这些工具要求保存用户程序对应的调试版本,否则就不能定位到异常发生的源代码,也不能够得到异常发生的堆栈调用顺序,因此,使用比较麻烦,尤其是在产品已经发布的情况下,用户程序发生的异常就很难使用这种方法;

2、应用程序和运行库是动态链接的,如果异常跟踪工具库的配置和程序运行时的库配置不一样,也会造成无法定位异常,或错误定位的情况;

3、这类工具都要使用操作系统在内核异常时保存的异常信息文件,而操作系统内核保存的异常文件是发生用户程序异常时对用户程序进程的内存空间的拷贝,用户程序使用的内存空间越大,则保存的文件也就越大,因此,操作系统内核在保存异常文件时都有一个大小的门限,超过门限的文件将无法保存,在开发阶段,嵌入式系统可以通过网络使用开发主机上的存储资源,这个门限可以设置相对较大,方便调试,但在产品发布后,这个门限必须设置得相对较小,以避免影响产品的功能。由于异常文件的大小不定,会出现用户进程异常不能保存的情况,给异常跟踪带来不便。

在传统的实时嵌入式操作系统中也有针对程序执行异常的分析工具,比如在VxWorks操作系统中使用tt(任务跟踪)工具。对于高端嵌入式操作系统来说,这类工具有如下缺点:

1、首先,它们只能使用在物理地址空间运行的情况下,不能使用在高端嵌入式操作系统中虚实地址空间分开的情况下使用;

2、其次,它们只能使用在应用程序与运行库做静态链接的情况下,不适用于高端嵌入式操作系统中使用动态链接库的情况;

3、最后,它们同样要求应用程序必须是调试版本,在编译时必须带有调试信息,否则就不能解析出函数名字。

发明内容

针对现有技术存在的缺陷和不足,本发明提供一种嵌入式系统中进程异常跟踪定位的方法。

为达到上述目的,本发明采用以下技术方案:本发明嵌入式系统中进程异常跟踪定位的方法,包括如下步骤:

步骤A,当进程发生异常时,获取发生异常的用户进程的寄存器值和相关信息;

步骤B,根据所述寄存器值,使用堆栈回溯的方法找到用户进程发生异常时函数的地址,以及调用该函数的函数序列;

步骤C,使用动态链接函数符号查找方法,根据步骤B得到的函数地址,在相应文件的符号表查找出函数的符号;

步骤D,将步骤A、B、C得到的结果保存到异常信息文件中。

优选的:在所述的嵌入式系统中进程异常跟踪定位的方法中,步骤A具体为:

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

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

本文链接:http://www.vipzhuanli.com/pat/books/200610167368.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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