一种调试信息输出和控制系统及其方法

文档序号:7621055阅读:197来源:国知局
专利名称:一种调试信息输出和控制系统及其方法
技术领域
本发明属于计算机软件设计领域,涉及软件模块的辅助调试方法,特别是涉及由多个子系统构成的软件系统的调试信息的输出和控制系统及其方法。
背景技术
在进行计算机软件开发的过程中,由于设计上的错误或者是人为的错误等,在软件的设计和编码过程中经常会隐藏很多的错误,这些错误通常难以被发现和解决,某些错误甚至只有在特定的运行环境下才会暴露出来。有些软件系统的运行环境比较特殊,比如运行在单板上的嵌入式软件、Windows的NT服务程序等,难以观察到软件的运行情况,当错误发生时也不知道是在什么地方、什么时候产生的。随着技术的发展,软件系统日益庞大和复杂,一个完整的软件系统可能由很多个子系统构成,系统的内部流程和结构非常复杂,当该系统出现故障时,要定位故障的根源也比较麻烦。
为了提高软件产品的质量,需要提供一种手段来帮助发现这些错误。
当前普遍采用的一种方法是记录软件的运行状态,软件在运行过程中输出调试信息,当出现故障时通过调试信息来辅助判断故障发生的位置。但是这种方法比较适用于单进程的系统。进程是指计算机上运行的独立的应用程序,一般为构成整个软件系统的一个子系统。对于多进程构成的软件系统,该方法的缺点是每个进程都需要单独实现调试信息的输出和控制功能。为了实现对系统的调试信息输出行为进行控制,需要对每个进程分别进行配置和管理。这不但增加了配置和管理的工作量,而且也造成了计算机资源的浪费。
因此需要提供一种调试信息的输出和控制系统及其方法,以提高对多进程系统的调试信息输出的控制功能。

发明内容
本发明所要解决的技术问题在于提供一种调试信息输出和控制系统及其方法,用于解决现有技术适用多进程构成的软件系统实现调试信息的输出和控制功能所带来的工作量增加及资源浪费等问题。
为了实现上述目的,本发明提供了一种调试信息输出和控制系统,包括调试信息操作台、调试信息输出控制模块、至少一个输出调试信息的应用程序模块,其中所述调试信息操作台用于接收各个所述输出调试信息的应用程序模块输出的调试信息,提供调试信息的控制和接收的操作界面;所述调试信息输出控制模块与所述调试信息操作台进行通讯,用于接受所述调试信息操作台的控制并将其发来的控制信息发送至各个所述输出调试信息的应用程序模块;所述输出调试信息的应用程序模块与所述调试信息输出控制模块进行通讯,用于输出调试信息,并接受所述调试信息输出控制模块对调试信息输出的控制。
所述的调试信息输出和控制系统,其中,所述调试信息操作台与所述输出调试信息的应用程序模块运行在同一台主机或不同的主机上。
所述的调试信息输出和控制系统,其中,各个所述输出调试信息的应用程序模块通过调用一调试信息输出接口函数输出调试信息。
所述的调试信息输出和控制系统,其中,所述调试信息输出控制模块与所述调试信息操作台通过可由用户选择通过TCP、UDP或者串口等进行通讯;所述调试信息输出控制模块与所述输出调试信息的应用程序模块通过UDP进行通讯。
所述的调试信息输出和控制系统,其中,所述调试信息操作台通过在所述调试信息操作台与所述调试信息输出控制模块之间设定一安全认证的接口并在所述调试信息操作台上输入一预先设置的用户信息的方式与所述调试信息输出控制模块建立通讯。
所述的调试信息输出和控制系统,其中,所述输出调试信息的应用程序模块以混合方式或重定向方式的输出方式输出调试信息。
所述的调试信息输出和控制系统,其中,所述调试信息输出控制模块在初始化时将调试信息输出的级别和类别描述信息提供给所述调试信息操作台。
所述的调试信息输出和控制系统,其中,所述输出调试信息的应用程序模块在初始化时向所述调试信息输出控制模块发起注册消息进行注册;所述输出调试信息的应用程序模块在结束运行时向所述调试信息输出控制模块发送取消注册消息。
所述的调试信息输出和控制系统,其中,所述调试信息输出控制模块收到所述输出调试信息的应用程序模块的注册消息后向所述输出调试信息的应用程序模块发送当前的调试信息输出的配置信息。
为了实现上述目的,本发明还提供了一种调试信息输出和控制方法,包括如下步骤一调试信息操作台设置的步骤,用于提供调试信息的控制和接收的操作界面;一调试信息输出控制的步骤,用于接收所述调试信息操作台发送的控制信息并接受所述调试信息操作台的控制;及一调试信息输出的步骤,用于输出调试信息,接收控制信息,并根据所述控制信息控制调试信息的输出。
本方法提供的系统及其方法适用于单进程/多进程组成的计算机软件系统。尤其是在多进程的嵌入式软件系统下,本发明提供了一种集中控制软件系统输出调试信息的方法。使用该方法不仅简化了调试信息输出的控制行为,而且提供了多种调试信息的输出方式,适用于多种软件运行环境,可以方便的监测软件的运行过程和定位软件运行过程中的故障现象。
以下结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。


图1为调试信息输出模块体系结构图;图2为多进程模式下的系统结构图;图3为单进程模式下的系统结构图。
具体实施例方式
本发明的目的在于为多进程软件系统提供一种调试信息的输出和控制系统及其方法,该系统及其方法也适用于单进程的软件系统。
本发明的技术方案如下调试信息输出和控制系统由调试信息操作台、调试信息输出控制模块、应用程序模块调试信息输出接口三个部分组成。
调试信息操作台该模块作为一个单独的子系统运行,它负责接收各个输出调试信息的应用程序模块输出的调试信息,实现调试信息的保存、查询等功能。提供界面对系统的调试信息输出行为进行统一控制,它与输出调试信息的应用程序模块可以运行在不同的主机上。
调试信息输出控制模块该模块与输出调试信息的应用程序模块运行在同一个主机上,如会议电视系统的MCU(Multipoint Control Unit,多点控制单元)设备、终端设备等。它与调试信息操作台进行通讯,接受调试信息操作台的控制;另外,它还与各个输出调试信息的应用程序模块进行通讯,将调试信息操作台发来的控制信息发送给各个输出调试信息的应用程序模块,实现对各个输出调试信息的应用程序模块的调试信息输出的控制。
输出调试信息的应用程序模块及其调试信息输出接口该调试信息输出接口为输出调试信息的接口函数,由该应用程序模块调用,与调试信息输出控制模块运行在同一台主机上。应用程序模块调用该接口函数输出本应用程序模块的调试信息。同时它与调试信息输出控制模块进行通讯,接受调试信息输出控制模块对调试信息输出行为的控制。
调试信息的输出方式分为下面几种(1)、分散方式调试信息由各应用程序模块实例通过UDP(User DatagramProtocol,用户数据报协议)直接发送给操作台。这种方式的运行效率最高,但应用程序模块可能会受网络影响。
(2)、集中方式应用程序模块先将调试信息发送给控制模块,再通过UDP集中发送给操作台。这种方式的效率稍低,但应用程序模块不易受网络影响。
(3)、混合方式应用程序模块先将调试信息发送给控制模块,再通过操作台建立的TCP连接发送给操作台。这种方式效率一般,但可靠性高,可以适用于需要穿越防火墙的公网环境。
(4)、重定向方式调试信息经控制模块转发给操作台,控制模块将所有与操作台的通讯重定向到其它的输出设备如串口等。这种方式效率最低,但可以适用于没有网络连接的环境。
本发明方法同样适用于单进程的软件系统。对于单进程的软件系统,调试信息输出系统包含调试信息操作台、调试信息输出控制模块,其中调试信息输出控制模块实现了调试信息的输出功能。
这种方法简化了对调试信息输出的控制,只需通过操作台就可以实现对所有应用程序模块的控制。
图1为调试信息输出模块体系结构图。调试信息操作台10与调试信息输出控制模块30之间的粗箭头33表示控制信息的传递方向,输出调试信息的应用程序模块20与调试信息操作台10之间的箭头11表示调试信息的传递方向。输出调试信息的应用程序模块20与调试信息输出控制模块30之间的虚箭头22表示在控制信息从调试信息输出控制模块30到输出调试信息的应用程序模块20的传递方向以及在混合模式及重定向模式下调试信息从输出调试信息的应用程序模块20到调试信息输出控制模块30的传递方向。其中输出调试信息的应用程序模块20包含一调试信息输出模块200。
图2所示为多进程模式下的系统结构图。以一个由三个子系统A、B、C组成的软件系统为例说明多进程模式下的系统结构。
1)、调试信息操作台10作为一个单独的系统,运行在PC(PersonalComputer,个人计算机)上。用户通过调试信息操作台10对A、B、C三个子系统应用程序模块20的调试信息输出行为进行控制。调试信息操作台10为调试信息的控制和接收提供操作界面,提供将调试信息保存到文件的功能特性,并能从文件中导入调试信息;提供对调试信息的分析功能,能够对调试信息进行分类、排序等工作。对A、B、C三个子系统应用程序模块20的调试信息输出行为的控制都是通过与调试信息输出控制模块30的通讯来实现的。它首先与调试信息输出控制模块30建立连接,将接收调试信息的端口号通知调试信息输出控制模块30,接收调试信息输出控制模块30上报的调试信息输出的类别和级别描述信息。调试信息输出控制模块30与调试信息操作台10之间的通讯定义了安全认证的接口,只有在调试信息操作台10界面上输入了预先设置好的用户信息,才能与调试信息输出控制模块30建立连接。
2)、调试信息输出控制模块30。该模块与调试信息操作台10通过TCP进行通讯,与A、B、C三个子系统应用程序模块20通过本地UDP Socket(套接字)进行通讯,在调试信息输出控制模块30内部需要维护一份A、B、C三个子系统应用程序模块20对象的列表。调试信息输出控制模块30作为一个独立的进程在子系统A、B、C所在的主机上运行,如MCU设备或者是会议电视系统的终端。在调试信息输出控制模块30初始化时,用户将调试信息输出的级别和类别描述信息作为参数提供给调试信息输出控制模块30,该类别和级别描述信息将在调试信息操作台10与调试信息输出控制模块30建立连接时发送给调试信息操作台10。调试信息输出控制模块30接收调试信息操作台10的连接请求,建立与调试信息操作台10的连接,读取调试信息操作台10改变调试信息输出的配置信息,然后遍历各个应用程序模块20,将当前的调试信息输出的配置信息发送给A、B、C三个子系统应用程序模块20。
3)、A、B、C三个子系统为MCU或者会议电视终端的应用程序,他们在初始化时需要向调试信息输出控制模块30进行注册,调试信息输出控制模块30收到A、B、C三个子系统应用程序模块20的注册信息后向该应用程序模块20发送当前的调试信息输出的配置信息。该应用程序模块20结束运行时需向调试信息输出控制模块30发送取消注册的消息。在需要输出调试信息的地方调用其调试信息输出模块200的接口函数。
图3为单进程模式下的系统结构图。下面介绍单进程模式的实施方式单进程模式下,只有一个软件系统A20,包含了调试信息输出控制模块30,如图3所示。调试信息输出控制模块30与调试信息操作台10之间黑箭头222表示控制信息的传递方向,可以通过TCP的方式进行通讯,也可以通过串口等方式通讯。调试信息输出控制模块30与调试信息操作台10之间的虚箭头111表示调试信息的传递方向。
本发明的有益效果本发明提供了一种调试信息输出和控制的系统及其方法,适用单进程/多进程组成的计算机软件系统。尤其是在多进程的嵌入式软件系统下,本发明提供了一种集中控制软件系统输出调试信息的方法。使用该方法不仅简化了调试信息输出的控制行为,而且提供了多种调试信息的输出方式,适用于多种软件运行环境,可以方便的监测软件的运行过程和定位软件运行过程中的故障现象。
当然,本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。
权利要求
1.一种调试信息输出和控制系统,其特征在于,包括调试信息操作台、调试信息输出控制模块、至少一个输出调试信息的应用程序模块,其中所述调试信息操作台用于接收各个所述输出调试信息的应用程序模块输出的调试信息,提供调试信息的控制和接收的操作界面;所述调试信息输出控制模块与所述调试信息操作台进行通讯,用于接受所述调试信息操作台的控制并将其发来的控制信息发送至各个所述输出调试信息的应用程序模块;所述输出调试信息的应用程序模块与所述调试信息输出控制模块进行通讯,用于输出调试信息,并接受所述调试信息输出控制模块对调试信息输出的控制。
2.根据权利要求1所述的调试信息输出和控制系统,其特征在于,所述调试信息操作台与所述输出调试信息的应用程序模块运行在同一台主机或不同的主机上。
3.根据权利要求1所述的调试信息输出和控制系统,其特征在于,各个所述输出调试信息的应用程序模块通过调用一调试信息输出接口函数输出调试信息。
4.根据权利要求1、2或3所述的调试信息输出和控制系统,其特征在于,所述调试信息输出控制模块与所述调试信息操作台可以根据用户的选择通过TCP、UDP或者串口进行通讯;所述调试信息输出控制模块与所述输出调试信息的应用程序模块通过UDP Socket进行通讯。
5.根据权利要求1、2或3所述的调试信息输出和控制系统,其特征在于,所述调试信息操作台通过在所述调试信息操作台与所述调试信息输出控制模块之间设定一安全认证的接口并在所述调试信息操作台上输入一预先设置的用户信息的方式与所述调试信息输出控制模块建立通讯。
6.根据权利要求1、2或3所述的调试信息输出和控制系统,其特征在于,所述输出调试信息的应用程序模块以混合方式或重定向方式的输出方式输出调试信息。
7.根据权利要求1、2或3所述的调试信息输出和控制系统,其特征在于,所述调试信息输出控制模块在初始化时将调试信息输出的级别和类别描述信息提供给所述调试信息操作台。
8.根据权利要求1、2或3所述的调试信息输出和控制系统,其特征在于,所述输出调试信息的应用程序模块在初始化时向所述调试信息输出控制模块发起注册消息进行注册;所述输出调试信息的应用程序模块在结束运行时向所述调试信息输出控制模块发送取消注册消息。
9.根据权利要求8所述的调试信息输出和控制系统,其特征在于,所述调试信息输出控制模块收到所述输出调试信息的应用程序模块的注册消息后向所述输出调试信息的应用程序模块发送当前的调试信息输出的配置信息。
10.一种调试信息输出和控制方法,其特征在于,包括如下步骤一调试信息操作台设置的步骤,用于提供调试信息的控制和接收的操作界面;一调试信息输出控制的步骤,用于接收所述调试信息操作台发送的控制信息并接受所述调试信息操作台的控制;及一调试信息输出的步骤,用于输出调试信息,接收控制信息,并根据所述控制信息控制调试信息的输出。
全文摘要
本发明公开了一种调试信息输出和控制系统及其方法,包括调试信息操作台、调试信息输出控制模块、至少一个输出调试信息的应用程序模块,其中调试信息操作台用于接收各个应用程序模块输出的调试信息,提供调试信息的控制和接收的操作界面;调试信息输出控制模块与调试信息操作台进行通讯,用于接受调试信息操作台的控制并将其发来的控制信息发送至各个应用程序模块;应用程序模块与调试信息输出控制模块进行通讯,用于输出调试信息,并接受调试信息输出控制模块对调试信息输出的控制。本发明适用多进程软件系统,简化了控制行为,且能以多种方式输出调试信息,并可监测软件运行中的故障现象。
文档编号H04L29/06GK1920782SQ20051008630
公开日2007年2月28日 申请日期2005年8月26日 优先权日2005年8月26日
发明者李喜欣, 朱晓斌 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1