记录软件调试日志的方法以及装置制造方法及图纸

技术编号:9667801 阅读:138 留言:0更新日期:2014-02-14 06:07
本发明专利技术公开一种记录软件调试日志的方法及装置,包括步骤:启动至少一个线程,每一线程具有一线程标识符;设置每一线程的线程名,并且建立线程名与线程标识符的对应表;建立多个日志文件,每一线程对应到一个日志文件;取得当前线程标识符,并且通过对应表查找对应当前线程标识符的线程名;将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件中。由于每一线程都有对应的日志文件名,因此便于通过察看多个日志内容,了解整个程序的执行步骤。此外,即使是多个线程都要使用的模块在执行其中一个线程时出现异常,操作者仍可通过查看多个日志文件,了解是哪一个线程在执行过程中发生错误。

【技术实现步骤摘要】
记录软件调试日志的方法以及装置
本专利技术涉及一种用于计算机软件领域,尤指一种记录软件调试日志的方法以及装置。
技术介绍
随着计算机技术的快速发展,在人们的生活及工作中通过计算机使用应用软件的需求也越来越大。随着应用软件的规模不断扩大,为了让计算机更有效率的运作,现在的软件普遍采用了多线程技术。然而,软件的规模越大,调试的复杂度也越来越高。所以为了便于操作者日后查询、追踪与分析,系统会产生日志(log)以记录每一线程运行的行为及状态。传统的软件调试日志都是按照软件模块来记录,并将同一模块或者多个模块的日志记录在同一文件之中。然而,在软件的调试(debugging)过程中,日志的输出量往往相当庞大而不易阅读,一旦为了了解清楚整个程序的执行步骤,要打开多个日志文件对比查看,才能了解清楚,一不小心会错过问题跟踪的详细细节。而且多线程软件的异常通常都出现在某一线程中,庞大的日志量也不利查找某个功能或者模块的问题。除此之外,因为多个模块的日志记录在同一日志文件之中,对于多个线程都要调用的模块也不易从所述日志文件迅速的判断哪一个模块在执行线程时出现异常。故,有必要提供一种记录软件调试日志的方法以及装置,以解决现有技术所存在的问题。
技术实现思路
本专利技术的目的是提供一种记录软件调试日志的方法以及装置,可以容易看清楚程序执行的步骤及方便定位软件异常,以解决现有技术的问题。为达成本专利技术的前述目的,本专利技术提供一种记录软件调试日志的方法,包括下述步骤:执行一调试程序,所述调试程序包含至少一个线程,每一线程具有一线程标识符;设置每一线程的线程名,并且建立每一线程名与每一线程标识符的对应表;建立至少一个日志文件,每一线程对应到一个日志文件;取得当前线程标识符,并且通过所述对应表查找对应所述当前线程标识符的线程名;以及将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件中。依据本专利技术的一实施例,所述日志信息包括启动线程的时间、使用所述线程的模块名以及函数名。依据本专利技术的一实施例,所述日志信息包括依序记录每一次启动所述线程的时间。依据本专利技术的一实施例,每一日志文件的文件名与对应的线程名相同。依据本专利技术的一实施例,在将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件中的步骤之后,还包括:当收到一显示日志文件请求时,依据所述显示日志文件请求显示对应的日志文件。再者,本专利技术又提供一种记录软件调试日志的装置,其包括:处理单元,用来执行一调试程序,所述调试程序包括至少一个线程,且每一线程具有一线程标识符;日志建立单元,用来于启动所述至少一个线程时,建立至少一个日志文件,每一线程对应到一个日志文件,且每一线程具有一线程标识符;存储单元,用来存储一对应表,所述对应表用来记录每一线程的线程名与每一线程标识符的对应关系;及日志写入单元,用来取得当前线程标识符,并且通过所述对应表查找对应所述当前线程标识符的线程名,并将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件。依据本专利技术的一实施例,所述日志信息包括启动线程的时间、使用所述线程的模块名以及函数名。依据本专利技术的一实施例,所述日志信息包括依序记录每一次启动所述线程的时间。依据本专利技术的一实施例,每一日志文件的文件名与对应的线程名相同。依据本专利技术的一实施例,另包含一输出单元,用来于收到一显示日志文件请求时,依据所述显示日志文件请求显示对应的日志文件。本专利技术另提供一种记录软件调试日志的装置,其包括:日志建立模块,用来于启动调试程序的至少一个线程时,建立至少一个日志文件,每一线程对应到一个日志文件且每一线程具有一线程标识符;对应表记录模块,用来建立每一线程名与每一线程标识符的对应表;及日志写入模块,用来取得当前线程标识符,并且通过所述对应表查找对应所述当前线程标识符的线程名,并将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件。依据本专利技术的一实施例,所述日志信息包括启动线程的时间、使用所述线程的模块名以及函数名。依据本专利技术的一实施例,所述日志信息包括依序记录每一次启动所述线程的时间。依据本专利技术的一实施例,每一日志文件的文件名与对应的线程名相同。相较于现有技术,本专利技术提出了一种按照线程记录软件调试日志的方法及装置,可以实现简单、高效的软件异常定位。由于每一线程启动的时候都会产生对应的日志文件,同时设定日志文件名符合其线程名,因此操作者可以通过日志文件名就立即知道正在查阅的日志是对应到哪一个线程所执行的内容。此外,即使是多个线程都要使用的模块在执行其中一个线程时出现异常,操作者仍可轻易的通过查看多个日志,了解是哪一个线程在执行过程中发生错误。因此本专利技术解决了传统多线程环境下,按照模块记录的日志不便阅读而无法快速发现哪一个线程出现异常的问题。为让本专利技术的上述内容能更明显易懂,下文特举较佳实施例,并配合所附图式,作详细说明如下:【附图说明】图1是本专利技术一实施例的记录软件调试日志的装置的方块示意图。图2是本专利技术记录软件调试日志的方法的流程图。图3是本专利技术另一实施例的记录软件调试日志的装置的方块示意图。【具体实施方式】请参阅图1,图1是本专利技术的一实施例的记录软件调试日志的装置10的方块示意图。装置10包含一处理单兀12、一存储单兀14、一输入接口 16、一输出单兀18、日志建立单元20以及日志写入单元22。装置10可以是个人计算机(PC)、笔记型计算机、数字电视、其它可以执行软件程序代码的电子装置,或是内置于个人计算机、笔记型计算机、数字电视等电子装置的硬件电路、软件单元或是软、硬件相结合的单元。处理单元12可以是单核、双核或是多核处理器,用来控制装置10的运作,并用来执行软件程序代码,例如调试程序。在本实施例中,调试程序包含至少一个线程,所述调试程序可同时运行多个线程以完成不同的工作。存储单元14可以是内存、硬盘或是其它具有存储数据功能的装置以及其组合。输入接口 16是用来接受操作者的指令,而输出单元18则是用来依据操作者的指令输出显示所需要的数据或文件。输入接口 16可以接收装置10本地端的操作者指令,或者接收由远端装置通过有线或无线网络所发送的操作者指令。装置10的处理单元12可以用来在接收到操作者通过输入接口 16输入的调试程序执行指令时,开始执行一调试程序。所述调试程序包括至少一个线程,且每一线程具有一线程标识符。接下来,日志建立单元20用来于每一个线程被启动的时候,建立至少一个日志文件并将产生的日志文件存储到存储单元14之中。在本实施例中,每一线程对应到一个日志文件,优选的,为便于阅读及分析,每一个日志文件名会与对应的线程的线程名一致。举例来说,如果线程B的线程名是HWDecoder,则对应的日志文件B的日志文件名会被自动设定为HWDecoder.log。当线程A被执行时,日志建立单元20会建立一个与线程A的线程名相同的日志文件A,当线程B被执行时,日志建立单元20会建立一个与线程B的线程名相同的日志文件B。存储单元14还会用来存储一对应表30。本领域技术人员也可以依据本实施例揭示的内容理解到,日志文件名可以按其它适当的命名规则产生,例如有次序的数字编号或文字编号。对应表30用来记录每一线程的线程名与每一线程标识符的对应关系。由于每一线程会在不本文档来自技高网...

【技术保护点】
一种记录软件调试日志的方法,其特征在于,包括步骤:执行一调试程序,所述调试程序包含至少一个线程,每一线程具有一线程标识符;设置每一线程的线程名,并且建立每一线程名与每一线程标识符的对应表;建立至少一个日志文件,每一线程对应到一个日志文件;取得当前线程标识符,并且通过所述对应表查找对应所述当前线程标识符的线程名;以及将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件中。

【技术特征摘要】
1.一种记录软件调试日志的方法,其特征在于,包括步骤: 执行一调试程序,所述调试程序包含至少一个线程,每一线程具有一线程标识符; 设置每一线程的线程名,并且建立每一线程名与每一线程标识符的对应表; 建立至少一个日志文件,每一线程对应到一个日志文件; 取得当前线程标识符,并且通过所述对应表查找对应所述当前线程标识符的线程名;以及 将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件中。2.如权利要求1所述的记录软件调试日志的方法,其特征在于:所述日志信息包括每一次启动所述线程的时间、使用所述线程的模块名以及函数名。3.如权利要求1或2所述的记录软件调试日志的方法,其特征在于:所述日志信息包括依序记录每一次启动所述线程的时间。4.如权利要求1所述的记录软件调试日志的方法,其特征在于:每一日志文件的文件名与对应的线程名相同。5.如权利要求1所述的记录软件调试日志的方法,其特征在于:在将执行所述当前线程产生的日志信息写入所述当前线程对应的日志文件中的步骤之后,还包括:当收到一显示日志文件请求时,依据所述显示日志文件请求显示对应的日志文件。6.一种记录软件调试日志的装置,其特征在于,包括: 处理单元,用来执行一调试程序,所述调试程序包括至少一个线程,且每一线程具有一线程标识符; 日志建立单元,用来于启动所述至少一个线程时,建立至少一个日志文件,每一线程对应到一个日志文件; 存储单元,用来存储一对应表,所述对应表用来记录每一线程的线程名与每一线程标识符的对应关系;及 日志写入单元,用来取得当前线程标识符,并且通过所...

【专利技术属性】
技术研发人员:赖晶
申请(专利权)人:腾讯科技深圳有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1