[发明专利]用于多任务环境单板机的全局变量异常改写定位方法有效
申请号: | 200810082722.0 | 申请日: | 2008-02-27 |
公开(公告)号: | CN101237350A | 公开(公告)日: | 2008-08-06 |
发明(设计)人: | 刘少情;董伟杰 | 申请(专利权)人: | 中兴通讯股份有限公司 |
主分类号: | H04L12/24 | 分类号: | H04L12/24 |
代理公司: | 北京康信知识产权代理有限责任公司 | 代理人: | 尚志峰;吴孟秋 |
地址: | 518057广东省深圳市南*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 任务 环境 单板机 全局变量 异常 改写 定位 方法 | ||
技术领域
本发明涉及单板机领域,具体而言,涉及一种用于多任务环境单板机的全局变量异常改写定位方法。
背景技术
在单板机(即嵌入式系统)多任务环境中,通常所有的任务在同一个地址空间中运行,这样在整个系统中存在全局变量被误修改的可能性。定位某个变量是如何被误修改是一项艰难的工作,这一方面是由于在嵌入式系统运行过程中一般不能进行实时跟踪,另一方面是由于嵌入式开发系统提供的调试手段很有限,不能提供类似VC的调试功能。
针对全局变量改写定位问题,一些研究人员在实践过程中针对特定环境提出了一些方法。例如,一种在有限状态中通过在状态机中打点的方法对全局变量改写进行监控。
但在实现本发明过程中,发明人发现现有技术中至少存在如下问题:该方法只有在监控单元检测点才能进行检测,检测点的个数是有限的,因此即使记录下了变量修改的事实,也还需要通过代码分析才能确定具体的修改位置,如果代码比较复杂,函数调用层次较深,分析定位就很困难。
发明内容
本发明旨在提供用于多任务环境单板机的全局变量异常改写定位方法,能够解决上述的调试方法分析定位困难的问题。
在本发明的实施例中,提供了一种用于多任务环境单板机的全局变量异常改写定位方法,包括以下步骤:单板机在运行版本的过程中接收请求跟踪全局变量改写的命令,命令包含关于全局变量的跟踪条件;当全局变量被改写时根据跟踪条件执行单步跟踪;在单步跟踪中,记录写断点跟踪信息;以及分析写断点跟踪信息,以定位改写全局变量的语句。
优选的,跟踪条件包括:全局变量的名称、长度、线性地址、跟踪方式、数值判断条件和被跟踪任务的任务号标志。
优选的,还包括在版本的编译阶段生成全局变量信息表,全局变量信息表保存全局变量的名称、长度、偏移地址及被跟踪任务的任务标志号。
优选的,还包括通过工具软件查找全局变量信息表生成命令,具体包括:工具软件以列表方式显示全局变量信息表;接受用户的输入以从全局变量信息表中选择全局变量的名称和任务号标志;根据全局变量的名称从全局变量信息表取得全局变量的长度,并根据单板机的当前数据段地址以及该变量的偏移地址计算得到变量的线性地址;接受用户的输入以选择跟踪方式和数值判断条件;以及根据全局变量的名称、长度、线性地址、跟踪方式、数值判断条件和关于任务的任务号标志建立跟踪条件,并构建到命令中。
优选的,由主机运行工具软件,并将生成的命令发送给单板机。
优选的,全局变量信息表保存为独立于版本的二进制文件。
优选的,当全局变量被改写时根据跟踪条件执行单步跟踪具体包括:单板机运行接口函数以针对单板机的处理器的调试寄存器设置跟踪条件;将设置得到的断点信息保存到缓冲区中;当全局变量被改写时触发单步中断响应函数以触发单步跟踪;以及从缓冲区读取断点信息以执行单步跟踪。
优选的,处理器是X86 CPU,单板机运行接口函数以针对单板机的处理器的调试寄存器设置跟踪条件具体包括:将跟踪条件中的全局变量的线性地址保存于调试寄存器的调试地址寄存器中;将跟踪条件中的跟踪方式和数值判断条件保存于调试寄存器的控制寄存器中,其中,设置跟踪方式为中断触发方式为写操作触发中断,中断点的字节数为命令中指示的全局变量的长度,中断点是全局中断,对各中断点的跟踪次数包括一次跟踪方式和无限多次跟踪两种方式,设置数值判断条件包括等于、不等于、大于和小于。
优选的,当全局变量被改写时触发单步中断响应函数以触发单步跟踪具体包括:修改中断向量表的入口地址为单步中断响应函数。
优选的,写断点跟踪信息包括:时间信息,用于记录全局变量异常改写的发生时间;任务的任务号标志和名称;全局变量异常改写前的值和全局变量异常改写后的值;任务的上下文信息,包括CPU寄存器信息和堆栈信息。
优选的,将写断点跟踪信息保存于日志文件中,通过分析日志文件以分析写断点跟踪信息。
优选的,还包括:将日志文件保存于异地。
本发明上述实施例的全局变量异常改写定位方法因为采用写断点跟踪信息分析改写事实,所以克服了现有技术代码分析带来的分析定位困难的问题,进而能够针对多任务环境单板机实时地定位全局变量异常改写。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1示出了根据本发明实施例的全局变量异常改写定位方法的流程图;
图2示出了根据本发明实施例的系统结构图;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200810082722.0/2.html,转载请声明来源钻瓜专利网。
- 上一篇:用于消毒包装件的方法和设备
- 下一篇:电磁波屏蔽用垫片及具有该垫片的电子设备