一种调试打印方法及调试打印系统的制作方法

文档序号:6550409阅读:269来源:国知局
一种调试打印方法及调试打印系统的制作方法
【专利摘要】本发明公开了一种调试打印方法,包含如下步骤:步骤1:启动调试打印系统确定进程的调试打印等级;步骤2:对比外部接口传入的调试打印等级与进程的调试打印等级的优先级,若外部接口传入的调试打印等级的优先级低于进程的调试打印等级,则调试打印结束,反之则下一步;步骤3:确定调试打印信息的输出终端并输出。还公开了一种调试打印系统,包含:调试打印信息输出模块输出进程的调试打印信息;内核打印信息输出模块抓取并输出所述的进程的内核调试打印信息;命令配置模块配置所有进程或单独设置每个进程的调试打印等级。本发明能够使用简单,采用单一接口,不需要预留接口和考虑复杂的逻辑;还能够通过不通的终端均可获取系统的调试打印信息。
【专利说明】一种调试打印方法及调试打印系统
【技术领域】
[0001]本发明涉及一种调试打印,特别涉及一种基于Linux的调试打印方法及调试打印系统。
【背景技术】
[0002]现在经常使用的调试打印手段是将调试打印信息输出到默认的终端,而内核的调试打印信息输出到默认的TTY设备,通过进程间通信方式配置应用程序的调试打印等级。
[0003]现有的方案无法在应用程序启动后,更改调试信息的输出终端,远程登录一个已运行的系统,无法将系统的调试打印信息输出到登录的终端。
[0004]现有的方案在应用程序使用过程中需要调用多个接口,类似创建、配置、使用、关闭这些步骤,对于调试打印等级,需要通过进程间通信的方式配置,这就需要应用程序监控相应的通信接口,开发人员在开发过程中往往习惯使用简单的调试打印手段。

【发明内容】

[0005]本发明的目的是提供一种调试打印方法及调试打印系统,使用简单,采用单一接口,不需要预留接口和考虑复杂的逻辑;还能够通过不通的终端均可获取系统的调试打印信息。
[0006]为了实现以上目的,本发明是通过以下技术方案实现的:
一种调试打印方法,包含如下步骤:
步骤1:启动调试打印系统,所述的调试打印系统确定进程的调试打印等级;
步骤2:所述的调试打印系统对比外部接口传入的调试打印等级与进程的调试打印等级的优先级,若外部接口传入的调试打印等级的优先级低于进程的调试打印等级,则调试打印结束,反之,则进入下一步骤;
步骤3:所述的调试打印系统确定进程的调试打印信息的输出终端,并输出进程的调试打印信息。
[0007]所述的步骤I包含如下子步骤:
步骤1.1:所述的调试打印系统判断进程中是否存在进程调试打印等级的标识文件,若存在,则确定进程的调试打印等级采用进程调试打印等级;若不存在,则进入下一步骤;步骤1.2:进一步判断进程中是否存在全局调试打印等级的标识文件,若存在,则确定进程的调试打印等级采用全局调试打印等级;若不存在,则确定进程的调试打印等级采用默认调试打印等级。
[0008]所述的步骤3中确定包含如下子步骤:
步骤3.1:所述的调试打印系统判断进程中是否包含输出软链接文件,若存在,则根据该软链接文件将进程的调试打印信息输出到指定终端,若不存在,则进入下一步骤;
步骤3.2:所述的调试打印系统判断没有输出软链接文件的进程是否包含软链接,若包含软链接,则将进程的调试打印信息输出到全局终端,若不包含软链接,则将进程的调试打印信息输出到默认终端。
[0009]一种调试打印系统,包含:
调试打印信息输出模块,所述的调试打印信息输出模块输出进程的调试打印信息;
内核打印信息输出模块,所述的内核打印信息输出模块抓取并输出所述的进程的内核调试打印信息;
命令配置模块,所述的命令配置模块配置所有进程或单独设置每个进程的调试打印等级。
[0010]所述的调试打印信息输出模块包含:
标识文件判断单元,所述的标识文件判断单元判断进程中是否存在进程调试打印等级标识文件和全局调试打印等级标识文件;
调试打印等级选择单元,所述的调试打印等级选择单元根据标识文件判断单元所得出的判断,为所述的进程选择对应的调试打印等级;
优先级判断单元,所述的优先级判断单元判断外部接口传入的调试打印等级是否大于调试打印等级选择单元为进程选择的调试打印等级的优先级;
打印信息输出单元,所述的打印信息输出单元将进程的调试打印信息输出到对应的终端或者文件。
[0011]当标识判断单元判断出进程中存在进程调试打印等级标识文件,则调试打印等级选择单元为进程选择进程调试打印等级;若不存在进程调试打印等级标识文件而存在全局调试打印等级标识文件,则调试打印等级选择单元为进程选择全局调试打印等级;若进程调试打印等级标识文件和全局调试打印等级标识文件都不存在,则为进程选择默认调试打印等级。
[0012]所述的进程中若包含调试打印等级软链接文件,打印信息输出单元根据将调试打印信息输出到指定终端或者文件;若进程中不包含调试打印等级软链接文件,打印信息输出单元将调试打印信息输出到全局或默认终端或者文件。
[0013]若进程中不包含调试打印等级软链接文件但存在软链接,则打印信息输出单元将调试打印信息输出到全局终端或者文件;否则,打印信息输出单元将调试打印信息输出到默认终端或者文件。
[0014]所述的调试打印信息输出模块调用一个打印接口将调试打印信息输出到指定终端。
[0015]所述的内核打印信息输出模块判断进程中是否包含软链接文件,若存在,则将内核打印信息输出到内核输出终端或者文件;若不存在内核软链接文件,则判断是否存在软链接,若存在软链接,则将内核打印信息输出到全局输出中断或者文件,若不存在软链接,则继续抓取内核打印信息。
[0016]若有多个终端登录到系统,命令配置模块配置命令将调试打印信息输出到指定的终端,或为不同的进程分别设置调试打印信息输出终端。
[0017]本发明与现有技术相比,具有以下优点:
1、使用简单,采用单一接口,不需要预留接口和考虑复杂的逻辑;
2、通过不同的终端均可获取系统的调试打印信息。【专利附图】

【附图说明】
[0018]图1为本发明一种调试打印方法的工作原理图;
图2为本发明一种调试打印系统的系统框图;
图3为本发明一种调试打印系统的内核打印信息输出模块的工作原理图。
【具体实施方式】
[0019]以下结合附图,通过详细说明一个较佳的具体实施例,对本发明做进一步阐述。
[0020]一种调试打印方法,如图1所示,包含如下步骤:
步骤1:启动调试打印系统,该调试打印系统确定进程的调试打印等级;其通过如下子步骤来实现:
步骤1.1:所述的调试打印系统判断进程中是否存在进程调试打印等级的标识文件,若存在,则确定进程的调试打印等级采用进程调试打印等级;若不存在,则进入下一步骤。
[0021]步骤1.2:进一步判断进程中是否存在全局调试打印等级的标识文件,若存在,则确定进程的调试打印等级采用全局调试打印等级;若不存在,则确定进程的调试打印等级采用默认调试打印等级。
[0022]步骤2:调试打印系统对比外部接口传入的调试打印等级与进程的调试打印等级的优先级,若外部接口传入的调试打印等级的优先级低于进程的调试打印等级,则调试打印结束,反之,则进入下一步骤。
[0023]步骤3:调试打印系统确定进程的调试打印信息的输出终端,并输出进程的调试打印信息;其通过如下子步骤来实现:
步骤3.1:调试打印系统判断进程中是否包含输出软链接文件,若存在,则根据该软链接文件将进程的调试打印信息输出到指定终端,若不存在,则进入下一步骤。
[0024]步骤3.2:调试打印系统判断没有输出软链接文件的进程是否包含软链接,若包含软链接,则将进程的调试打印信息输出到全局终端,若不包含软链接,则将进程的调试打印信息输出到默认终端。
[0025]根据上述方法,本发明还公开了一种调试打印系统,如图2所示,包含:调试打印信息输出模块、内核打印信息输出模块和命令配置模块,该调试打印系统主要使用在基于Linux的应用系统的开发和维护,用户可根据需要开启不同的调试等级,并在用户远程登录系统时(例如telnet,ssh等),将内核和应用程序的调试打印信息输出到当前的终端。
[0026]其中,调试打印信息输出模块输出进程的调试打印信息;调试打印信息输出模块包含:标识文件判断单元、调试打印等级选择单元、优先级判断单元和打印信息输出单元。
[0027]当应用程序开始后,开启调试打印系统,通过文件标识的方式来指定应用程序的调试打印等级,即标识文件判断单元判断应用程序的进程中是否存在进程调试打印等级标识文件和全局调试打印等级标识文件,当标识判断单元判断出进程中存在进程调试打印等级标识文件,则调试打印等级选择单元为进程选择进程调试打印等级;若不存在进程调试打印等级标识文件而存在全局调试打印等级标识文件,则调试打印等级选择单元为进程选择全局调试打印等级;若进程调试打印等级标识文件和全局调试打印等级标识文件都不存在,则为进程选择默认调试打印等级。
[0028]确定好调试打印等级后,优先级判断单元判断外部接口传入的调试打印等级是否大于调试打印等级选择单元为进程选择的调试打印等级的优先级;打印信息输出单元将进程的调试打印信息输出到对应的终端或者文件。因此,在本实施例中,调试打印信息输出模块只需调用一个打印接口将调试打印信息输出到指定终端,即只包含一个类似printf的接口,不需要初始化,不需要为更改调试打印等级而预留特殊的接口,即可将调试打印信息输出到指定终端,该接口只比printf函数多一个调试打印等级,应用程序调用调试打印接口输出应用程序的调试打印信息,并指定调试打印等级,如果调试打印等级的优先级大于或等于应用程序的调试打印等级,则将信息输出到当前系统设置的调试信息输出终端。
[0029]本发明所述的系统通过软链接的方式指定调试打印信息的输出终端,即进程中若包含调试打印等级软链接文件,打印信息输出单元根据将调试打印信息输出到指定终端或者文件;若进程中不包含调试打印等级软链接文件,打印信息输出单元将调试打印信息输出到全局或默认终端或者文件;若进程中不包含调试打印等级软链接文件,且需要将调试打印信息输出到一个终端,则创建使该进程包含一个软链接,则打印信息输出单元将调试打印信息输出到全局终端或者文件;否则,只需将将调试打印信息输出到默认终端或者文件,而无需创建软链接。
[0030]如图3所示,内核打印信息输出模块抓取并输出所述的进程的内核调试打印信息;内核打印信息输出模块判断进程中是否包含软链接文件,若存在,则将内核打印信息输出到内核输出终端或者文件;若不存在内核软链接文件,则判断是否需要输出到指定终端,则确定是否需要建立并使进程存在软链接,若创建软链接,则将内核打印信息输出到全局输出终端或者文件,若不需创建软链接,则继续抓取内核打印信息。
[0031]命令配置模块驱动调试打印信息输出模块、内核打印信息输出模块输出调试打印信息,其配置所有进程或单独设置每个进程的调试打印等级。若有多个终端登录到系统,命令配置模块配置命令驱动将调试打印信息输出到指定的终端,或为不同的进程分别设置调试打印信息输出终端。
[0032]综上所述,本发明一种调试打印方法及调试打印系统,使用简单,采用单一接口,不需要预留接口和考虑复杂的逻辑;还能够通过不通的终端均可获取系统的调试打印信
肩、O
[0033]尽管本发明的内容已经通过上述优选实施例作了详细介绍,但应当认识到上述的描述不应被认为是对本发明的限制。在本领域技术人员阅读了上述内容后,对于本发明的多种修改和替代都将是显而易见的。因此,本发明的保护范围应由所附的权利要求来限定。
【权利要求】
1.一种调试打印方法,其特征在于,包含如下步骤: 步骤1:启动调试打印系统,所述的调试打印系统确定进程的调试打印等级; 步骤2:所述的调试打印系统对比外部接口传入的调试打印等级与进程的调试打印等级的优先级,若外部接口传入的调试打印等级的优先级低于进程的调试打印等级,则调试打印结束,反之,则进入下一步骤; 步骤3:所述的调试打印系统确定进程的调试打印信息的输出终端,并输出进程的调试打印信息。
2.如权利要求1所述的调试打印方法,其特征在于,所述的步骤I包含如下子步骤: 步骤1.1:所述的调试打印系统判断进程中是否存在进程调试打印等级的标识文件,若存在,则确定进程的调试打印等级采用进程调试打印等级;若不存在,则进入下一步骤;步骤1.2:进一步判断进程中是否存在全局调试打印等级的标识文件,若存在,则确定进程的调试打印等级采用全局调试打印等级;若不存在,则确定进程的调试打印等级采用默认调试打印等级。
3.如权利要求1所述的调试打印方法,其特征在于,所述的步骤3中确定包含如下子步骤: 步骤3.1:所述的调试打印系统判断进程中是否包含输出软链接文件,若存在,则根据该软链接文件将进程的调试打印信息输出到指定终端,若不存在,则进入下一步骤; 步骤3.2:所述的调试打印系统判断没有输出软链接文件的进程是否包含软链接,若包含软链接,则将进程的调试打印信息输出到全局终端,若不包含软链接,则将进程的调试打印信息输出到默认终端。
4.一种适用于权利要求广3中任一项所述调试打印方法的调试打印系统,其特征在于,包含: 调试打印信息输出模块,所述的调试打印信息输出模块输出进程的调试打印信息; 内核打印信息输出模块,所述的内核打印信息输出模块抓取并输出所述的进程的内核调试打印信息; 命令配置模块,所述的命令配置模块配置所有进程或单独设置每个进程的调试打印等级。
5.如权利要求4所述的调试打印系统,其特征在于,所述的调试打印信息输出模块包含: 标识文件判断单元,所述的标识文件判断单元判断进程中是否存在进程调试打印等级标识文件和全局调试打印等级标识文件; 调试打印等级选择单元,所述的调试打印等级选择单元根据标识文件判断单元所得出的判断,为所述的进程选择对应的调试打印等级; 优先级判断单元,所述的优先级判断单元判断外部接口传入的调试打印等级是否大于调试打印等级选择单元为进程选择的调试打印等级的优先级; 打印信息输出单元,所述的打印信息输出单元将进程的调试打印信息输出到对应的终端或者文件。
6.如权利要求5所述的调试打印系统,其特征在于,当标识文件判断单元判断出进程中存在进程调试打印等级标识文件,则调试打印等级选择单元为进程选择进程调试打印等级;若不存在进程调试打印等级标识文件而存在全局调试打印等级标识文件,则调试打印等级选择单元为进程选择全局调试打印等级;若进程调试打印等级标识文件和全局调试打印等级标识文件都不存在,则为进程选择默认调试打印等级。
7.如权利要求5所述的调试打印系统,其特征在于,所述的进程中若包含调试打印等级软链接文件,打印信息输出单元根据将调试打印信息输出到指定终端或者文件;若进程中不包含调试打印等级软链接文件,打印信息输出单元将调试打印信息输出到全局的或默认终端或者文件。
8.如权利要求7所述的调试打印系统,其特征在于,若进程中不包含调试打印等级软链接文件但存在软链接,则打印信息输出单元将调试打印信息输出到全局终端或者文件;否则,打印信息输出单元将调试打印信息输出到默认终端或者文件。
9.如权利要求7所述的调试打印系统,其特征在于,所述的调试打印信息输出模块调用一个打印接口将调试打印信息输出到指定终端。
10.如权利要求4所述的调试打印系统,其特征在于,所述的内核打印信息输出模块判断进程中是否包含软链接文件,若存在,则将内核打印信息输出到内核输出终端或者文件;若不存在内核软链接文件,则判断是否存在软链接,若存在软链接,则将内核打印信息输出到全局输出中断或者文件,若不存在软链接,则继续抓取内核打印信息。
11.如权利要求4所述的调试打印系统,其特征在于,若有多个终端登录到系统,命令配置模块配置命令将 调试打印信息输出到指定终端,或为不同的进程分别设置调试打印信息输出终端。
【文档编号】G06F3/12GK104007944SQ201410282101
【公开日】2014年8月27日 申请日期:2014年6月23日 优先权日:2014年6月23日
【发明者】匡昌胜 申请人:上海斐讯数据通信技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1