CN100472987C - 通信系统程序故障检测方法 - Google Patents

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

Info

Publication number
CN100472987C
CN100472987C CNB031399940A CN03139994A CN100472987C CN 100472987 C CN100472987 C CN 100472987C CN B031399940 A CNB031399940 A CN B031399940A CN 03139994 A CN03139994 A CN 03139994A CN 100472987 C CN100472987 C CN 100472987C
Authority
CN
China
Prior art keywords
information
variable
memory
backstage
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CNB031399940A
Other languages
English (en)
Other versions
CN1578202A (zh
Inventor
王新余
王幸
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
ZTE Corp
Original Assignee
ZTE Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ZTE Corp filed Critical ZTE Corp
Priority to CNB031399940A priority Critical patent/CN100472987C/zh
Publication of CN1578202A publication Critical patent/CN1578202A/zh
Application granted granted Critical
Publication of CN100472987C publication Critical patent/CN100472987C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种通信系统程序故障检测方法,包括:生成包括变量信息的正式版本;在正式版本下载到前台设备(例如交换机的工控机)时,把变量信息从正式版本中分离出来,以数据文件的方式保存到存储器上,这样系统装载版本运行时,变量信息不会调入内存;在后台(例如交换机的操作维护台)设定记录系统异常动态信息的方式;系统异常时,后台生成异常记录文件;分析异常记录文件信息,确定故障。采用本发明所述方法,可以动态定制记录文件,也可以实时查看造成异常的所有关键变量值,迅速确定导致异常的原因。可以节省处理时间,提高异常处理效率。

Description

通信系统程序故障检测方法
技术领域
本发明涉及通信系统诊断测试技术。尤其涉及通信设备实时运行时出现异常时,对系统软件实时查找问题提供帮助。
背景技术
设备在现场运行过程中,如果程序出现异常,一般采用写记录文件的方法来记录一些重要信息帮助查找定位问题。如专利号为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开发。异常判断接口模块启动后,设定前台目标的信息,如通信地址,前后台通信等待的时间长度等,设定完毕后向前台的异常判断代理模块发送消息,请求拷贝变量信息文件,变量信息文件拷贝完毕后,生成变量树,方便对变量的查找。异常判断接口模块再向异常判断代理模块请求已经存在的异常判断设定。可查阅原先的异常判断设定,在这基础上清除设定或添加新的设定。在前台申请一定数目的数组用于存放异常判断设定。清除某设定就是清除对应数组的标志。添加新的设定,设置对应数组的标志,把判断项(内存的地址、长度、参考判断内容、判断条件)、记录信息(内存的地址、长度)和传送方向拷贝到数组中,并清除异常发生标志。该通信板程序比较简单,但负荷大,因此异常判断是放在进程中定时进行的。异常判断代理模块定时对数组进行扫描,标志已设置,则用判断项中的指定的内存地址和长度,用参考判断内容,进行内存比较,如果满足判断条件,就认为异常发生,设置异常发生标志,依据记录信息按照传送方向保存内容。

Claims (2)

1、一种通信系统程序故障检测方法,包括:
1.1生成包括变量信息的正式版本,方法为:
1.1.1在生成发行版本时,同时生成带全局变量信息的调试版本,保证调试版本和发行版本从全局变量定义上完全一致;
1.1.2从调试版本中,取出所有全局变量的信息,计算出变量在内存中存放的相对位置,并把这些信息追加到发行版本的文件尾,生成最终的正式版本;
1.2在正式版本下载到前台设备时,把变量信息从正式版本中分离出来,以数据文件的方式保存到存储器上;
1.3在后台设定记录系统异常动态信息的方式:
1.3.1后台异常判断接口模块启动时,把存在前台设备的存储器上的变量信息文件内容拷贝到后台内存中,生成变量树,算出所有变量的实时内存地址;
1.3.2在后台异常判断接口模块中,指定系统异常的判断条件以及所需记录的内存地址和长度,发送到前台的异常判断代理模块;
1.4系统异常时,后台生成异常记录文件:异常判断代理模块根据指定的判断条件判断系统异常是否产生,当确定异常产生时,把所需记录的内存地址中的内容记录到存储器上,或发送到后台接口模块显示和保存;
1.5分析异常记录文件信息,确定故障:后台把该变量的内存地址及长度发送到前台代理模块,前台根据地址和长度把内存拷贝发回后台,查看选定的变量;后台接口模块对接收到信息分解,根据变量类型显示故障。
2、权利要求1所述的通信系统程序故障检测方法,其特征在于,所述全局变量信息包括变量名、变量类型。
CNB031399940A 2003-07-28 2003-07-28 通信系统程序故障检测方法 Expired - Fee Related CN100472987C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB031399940A CN100472987C (zh) 2003-07-28 2003-07-28 通信系统程序故障检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB031399940A CN100472987C (zh) 2003-07-28 2003-07-28 通信系统程序故障检测方法

Publications (2)

Publication Number Publication Date
CN1578202A CN1578202A (zh) 2005-02-09
CN100472987C true CN100472987C (zh) 2009-03-25

Family

ID=34579185

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB031399940A Expired - Fee Related CN100472987C (zh) 2003-07-28 2003-07-28 通信系统程序故障检测方法

Country Status (1)

Country Link
CN (1) CN100472987C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100450016C (zh) 2005-06-03 2009-01-07 华为技术有限公司 通信网络中在线维护的实现方法
CN100452100C (zh) * 2006-04-29 2009-01-14 浪潮齐鲁软件产业有限公司 税控收款机操作信息的记录存储及故障的查询方法
CN101751321B (zh) * 2008-12-18 2012-07-18 中兴通讯股份有限公司 一种动态可视化查看变量的实现方法及系统
CN101667929B (zh) * 2009-10-13 2014-11-05 中兴通讯股份有限公司 一种业务系统的维护系统及方法
CN102073489A (zh) * 2009-11-23 2011-05-25 新奥特(北京)视频技术有限公司 一种调试日志生成方法及装置
CN103795588A (zh) * 2013-09-12 2014-05-14 王永文 一种用于电器控制系统现场调试的方法
CN110502438B (zh) * 2019-07-31 2023-07-04 惠州市德赛西威汽车电子股份有限公司 一种Linux应用程序的调试方法

Also Published As

Publication number Publication date
CN1578202A (zh) 2005-02-09

Similar Documents

Publication Publication Date Title
CA2224689C (en) Remote monitoring of computer programs
US6964034B1 (en) Application development server and a mechanism for providing different views into the same constructs within a strongly encapsulated environment
US20070168956A1 (en) System and method for representing user processes as software packages in a software package management system
US8266588B2 (en) Creating projects in a rational application developer workspace
CN106325970A (zh) 编译方法和编译系统
US20100017503A1 (en) Download server and method for installing and updating application program using partitioning of shared library
JP2007257046A (ja) 複数osバージョン用ソフトウェア生成装置及び複数osバージョン用ソフトウェア生成支援プログラム
US20070240136A1 (en) Apparatus and method for capabilities verification and restriction of managed applications in an execution environment
US20050204351A1 (en) Dynamic addressing (DA) using a centralized DA Manager
US20110126179A1 (en) Method and System for Dynamic Patching Software Using Source Code
JP2004158012A (ja) ソフトウェアアプリケーション管理のためのシステムおよび方法
US7844734B2 (en) Dynamic addressing (DA) using a centralized DA manager
JP4724660B2 (ja) 組み込みシステムの中に統合されるソフトウェアコンポーネントを管理する方法
US20030005093A1 (en) Server configuration versioning tool
JP4635452B2 (ja) 携帯端末の不具合調査システム,方法,携帯端末およびプログラム
CN100472987C (zh) 通信系统程序故障检测方法
JP2007527562A5 (zh)
CN110209565B (zh) 一种元数据模型调试方法及其装置
US20020073246A1 (en) Code server
CN107943504A (zh) 一种嵌入式系统中软件模块的动态升级方法
CN109254856B (zh) 智能pos服务端提供接口给客户端的方法
JPH0962493A (ja) ソフトウェアインストールシステム
CN113535230B (zh) 一种工程源码动态自适应不同硬件资源的方法及系统
CN115729564A (zh) 原生应用对Linux Arm64的兼容性判断方法
WO2007144891A1 (en) A method for the distribution of software processes to a plurality of computers

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090325

Termination date: 20190728

CF01 Termination of patent right due to non-payment of annual fee