通信系统程序故障检测方法

文档序号:6366527阅读:230来源:国知局
专利名称:通信系统程序故障检测方法
技术领域
本发明涉及通信系统诊断测试技术。尤其涉及通信设备实时运行时出现异常时,对系统软件实时查找问题提供帮助。
背景技术
设备在现场运行过程中,如果程序出现异常,一般采用写记录文件的方法来记录一些重要信息帮助查找定位问题。如专利号为CN 1414711A的中国专利“一种程序状态的故障定位方法”,是通过静态记录程序运行状态来定位设备故障。目前这种技术存在以下缺点由于写记录文件的信息是程序员在编程时就静态写定,不能临时更改的,而程序出错不是程序员可预知的,因此往往造成程序出现异常时,没有信息记录,或信息记录不全。由于通信领域的电信级设备,如程控交换机等,不能随时中断运行,来换上调试版本进行跟踪。开发人员束手无策,给定位问题带来很大的困难,延长解决问题的时间。出现这种状况的根本原因在于不能根据异常情况动态定制记录文件,不能实时动态查看程序中一些关键信息的值。

发明内容
本发明的目的是为了克服目前设备的程序出异常时,通过静态写子记录文件来保存出错信息,造成信息不全或根本没有的弊端,提出一种新的方案,解决现有技术中存在的不能动态定制异常记录文件,实时查看程序变量值问题。
本发明所述通信系统程序故障检测方法如下1.1生成包括变量信息的正式版本;1.2在正式版本下载到前台设备(例如交换机的工控机)时,把变量信息从正式版本中分离出来,以数据文件的方式保存到存储器上,这样系统装载版本运行时,变量信息不会调入内存;1.3在后台(例如交换机的操作维护台)设定记录系统异常动态信息的方式;1.4系统异常时,后台生成异常记录文件;1.5分析异常记录文件信息,确定故障。
上述的通信系统程序故障检测方法中,步骤1.1中的生成包括变量信息的文件的方法为在生成发行版本(所谓发行版本就是不带任何调试信息的程序)时,同时生成带全局变量信息的调试版本,保证调试版本和发行版本从全局变量定义上完全一致;所述全局变量信息包括变量名、变量类型等。从调试版本中,取出所有全局变量的信息,计算出变量在内存中存放的相对位置,并把这些信息追加到发行版本的文件尾,生成最终的正式版本。
其步骤1.3中的在后台设定记录系统异常动态信息的方式是指后台异常判断接口模块启动时,把存在前台设备的存储器上的变量信息文件内容拷贝到后台内存中,生成变量树,算出所有变量的实时内存地址;在后台异常判断接口模块中,指定系统异常的判断条件以及所需记录的内存地址和长度,发送到前台的异常判断代理模块。
其步骤1.4生成异常记录文件的方法为异常判断代理模块根据指定的判断条件判断系统异常是否产生,当确定异常产生时,把所需记录的内存地址中的内容记录到存储器上,或发送到后台接口模块显示和保存。
其步骤1.5确定故障的方法可以是,后台把该变量的内存地址及长度发送到前台代理模块,前台根据地址和长度把内存拷贝发回后台,查看选定的变量;后台接口模块对接收到信息分解,根据变量类型显示故障。
采用本发明所述方法,开发人员在发现设备的程序异常时,可以动态定制记录文件,也可以实时查看造成异常的所有关键变量值,迅速确定导致异常的原因。按照该方法根据系统异常情况,不用更换版本,动态定制记录文件,把与导致异常的关键信息保存下来,以供分析,迅速确定导致程序异常的原因,对原先程序的效率和性能没有任何影响,可以节省处理时间,提高异常处理效率。


图1是本发明发行文件的格式示意图;图2是本发明的流程图;图3是本发明的变量信息文件的生成过程示意图;图4是本发明的异常判断设定过程示意图;图5是本发明的异常判断接口模块工作流程图;图6是本发明的异常判断代理模块工作流程图。
具体实施例方式
下面结合附图对技术方案的实施作进一步的详细描述图1是本发明发行文件的格式。
图2是本发明的流程图。
在图3、图4中,描述了本系统诊断测试的方法的工作过程图3是变量信息文件的生成过程,从调试版本1中取出变量信息2,添加在正式版本3后,形成发行文件4,发行文件4通过后台的版本下载程序5拷贝到前台,由前台的版本下载代理6把发行文件4分离成正式版本3和变量信息文件7。图4是异常判断的设定过程,异常判断接口模块9运行于后台,异常判断代理模块10运行于前台,异常判断接口模块9启动后,由异常判断代理模块10把变量信息文件7和已存在的异常判断设定11传到后台,变量信息文件7转换成变量信息树8。这样就对已存在的异常判断设定进行清除,或根据信息树添加新的异常判断设定和直接查看变量的内容。
在图5、图6中,详细描述了本系统诊断测试的方法的工作流程图5是异常判断接口模块9的工作流程,它接收两个方向的消息,一方面是用户操作消息,如异常判断设定,异常判断清除,变量值显示等,直接送到前台异常判断代理模块10;一方面是异常判断代理模块10返回的消息,直接显示或存盘。图6是异常判断代理模块10的工作流程,它接收异常判断接口模块9发来的用户操作消息。如果为变量值查询,就从指定的地址开始,拷贝指定长度的内容,送回异常判断接口模块9。如果为异常判断清除,就清除应的异常判断,再把当前的异常判断设置送到异常判断接口模块9。如果为异常判断设置,拷贝收到的设置到缓冲区中,开始定时扫描判断异常是否发生,如果发生,把异常记录信息根据指定送到异常判断代理模块10或直接保存,然后需再判断异常是否解除,防止异常记录信息不停发送或保存。
例如,某通信板CPU用MOTOROLA的8260,采用VXWORKS操作系统,用GNU的make编译所有的源程序。GNU的make运行的基础是一个编译连接控制MAKEFILE文件,用来控制编译哪些源文件,连接哪些模块,生成什么目标文件。异常代理模块作为一个独立的库模块加入到MAKEFILE中。在源程序的编译控制选项中,调试版本加入选项-g,产生详细的调试信息,正式版本不加-g,其它选项完全一样。生成版本的格式为ELF(EXECUTABLE ANDLINKABLE FORMAT可执行连接格式),ELF文件格式很多技术资料上都有介绍。从调试版本中取出全局变量的信息,和正式版本一起生成发行文件,发行文件的开始4字节为正式版本的长度,用于版本下载时正式版本和变量信息内容分离。
发行文件下载到该通信板上时,根据文件中的长度,分离出正式版本和变量信息文件,保存在存储器上。通信板上电启动时,从存储器上加载正式版本到内存中运行。这样,变量信息对整个通信板系统运行一点影响也没有。异常判断接口模块作为一个独立的程序运行于WINDOWS下,用VC开发。异常判断接口模块启动后,设定前台目标的信息,如通信地址,前后台通信等待的时间长度等,设定完毕后向前台的异常判断代理模块发送消息,请求拷贝变量信息文件,变量信息文件拷贝完毕后,生成变量树,方便对变量的查找。异常判断接口模块再向异常判断代理模块请求已经存在的异常判断设定。可查阅原先的异常判断设定,在这基础上清除设定或添加新的设定。在前台申请一定数目的数组用于存放异常判断设定。清除某设定就是清除对应数组的标志。添加新的设定,设置对应数组的标志,把判断项(内存的地址、长度、参考判断内容、判断条件)、记录信息(内存的地址、长度)和传送方向拷贝到数组中,并清除异常发生标志。该通信板程序比较简单,但负荷大,因此异常判断是放在进程中定时进行的。异常判断代理模块定时对数组进行扫描,标志已设置,则用判断项中的指定的内存地址和长度,用参考判断内容,进行内存比较,如果满足判断条件,就认为异常发生,设置异常发生标志,依据记录信息按照传送方向保存内容。
权利要求
1.一种通信系统程序故障检测方法,包括1.1生成包括变量信息的正式版本;1.2在正式版本下载到前台设备时,把变量信息从正式版本中分离出来,以数据文件的方式保存到存储器上;1.3在后台设定记录系统异常动态信息的方式;1.4系统异常时,后台生成异常记录文件;1.5分析异常记录文件信息,确定故障。
2.权利要求1所述的通信系统程序故障检测方法,其特征在于,所述步骤1.1中的生成包括变量信息的文件的方法为2.1在生成发行版本时,同时生成带全局变量信息的调试版本,保证调试版本和发行版本从全局变量定义上完全一致;2.2从调试版本中,取出所有全局变量的信息,计算出变量在内存中存放的相对位置,并把这些信息追加到发行版本的文件尾,生成最终的正式版本。
3.权利要求2所述的通信系统程序故障检测方法,其特征在于,所述全局变量信息包括变量名、变量类型。
4.权利要求1所述的通信系统程序故障检测方法,其特征在于,所述步骤1.3中的在后台设定记录系统异常动态信息的方式是指4.1后台异常判断接口模块启动时,把存在前台设备的存储器上的变量信息文件内容拷贝到后台内存中,生成变量树,算出所有变量的实时内存地址;4.2在后台异常判断接口模块中,指定系统异常的判断条件以及所需记录的内存地址和长度,发送到前台的异常判断代理模块。
5.权利要求1所述的通信系统程序故障检测方法,其特征在于,所述步骤1.4生成异常记录文件的方法为异常判断代理模块根据指定的判断条件判断系统异常是否产生,当确定异常产生时,把所需记录的内存地址中的内容记录到存储器上,或发送到后台接口模块显示和保存。
6.权利要求1所述的通信系统程序故障检测方法,其特征在于,所述步骤1.5确定故障的方法可以是,后台把该变量的内存地址及长度发送到前台代理模块,前台根据地址和长度把内存拷贝发回后台,查看选定的变量;后台接口模块对接收到信息分解,根据变量类型显示故障。
全文摘要
一种通信系统程序故障检测方法,包括生成包括变量信息的正式版本;在正式版本下载到前台设备(例如交换机的工控机)时,把变量信息从正式版本中分离出来,以数据文件的方式保存到存储器上,这样系统装载版本运行时,变量信息不会调入内存;在后台(例如交换机的操作维护台)设定记录系统异常动态信息的方式;系统异常时,后台生成异常记录文件;分析异常记录文件信息,确定故障。采用本发明所述方法,可以动态定制记录文件,也可以实时查看造成异常的所有关键变量值,迅速确定导致异常的原因。可以节省处理时间,提高异常处理效率。
文档编号G06F9/44GK1578202SQ0313999
公开日2005年2月9日 申请日期2003年7月28日 优先权日2003年7月28日
发明者王新余, 王幸 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1