本發(fā)明實施例涉及軟件調(diào)試與分析的技術(shù)領(lǐng)域,尤其涉及一種管理日志的方法及裝置。
背景技術(shù):
目前,軟件調(diào)試在通常是基于添加的日志信息來進行問題分析、跟蹤與解決的。而對日志的查看與分析基本都是軟件開發(fā)者自己手動去查看與分析,再找到代碼問題所在。這種查找的方式比較花費時間,加上軟件開發(fā)者的經(jīng)驗參差不齊,有很多開發(fā)技巧都需要學(xué)習(xí),從而造成軟件調(diào)試與分析工作效率不高。
技術(shù)實現(xiàn)要素:
本發(fā)明實施例的目的在于提出一種管理日志的方法及裝置,旨在解決如何自動跟蹤軟件運行狀態(tài)且自動管理軟件日志的問題。
為達此目的,本發(fā)明實施例采用以下技術(shù)方案:
第一方面,一種管理日志的方法,所述方法包括:
運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;
按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;
若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息。
優(yōu)選地,所述按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存,包括:
匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù);
若所述預(yù)設(shè)模式為錯誤模式,則向調(diào)試軟件發(fā)送調(diào)試命令,獲取所述調(diào)試軟件返回的調(diào)試結(jié)果;
若確定保存所述預(yù)設(shè)模式對應(yīng)的日志信息,則創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件;
將匹配到的日志信息,或者所述日志信息和所述調(diào)試結(jié)果保存至創(chuàng)建的文件;
在保存文件時,若設(shè)置保存文件的大小,則根據(jù)所述保存文件的大小對所述創(chuàng)建的文件進行分割;
若設(shè)置文件壓縮,則對分割后的文件進行壓縮處理后保存。
優(yōu)選地,所述匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù)之前,還包括:
若匹配到所述日志信息中的高亮模式后,則將對應(yīng)行用預(yù)設(shè)顏色進行顯示。
優(yōu)選地,所述創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件之后,還包括:
若確定為所述日志信息的行首和行尾添加時間信息,則為與所述預(yù)設(shè)模式對應(yīng)的日志信息的行首和行尾添加時間信息。
優(yōu)選地,所述分析所述錯誤模式對應(yīng)的日志信息,包括:
分析所述錯誤模式對應(yīng)的日志信息的堆棧,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼;或者,
分析所述錯誤模式對應(yīng)的日志信息中的地址信息;根據(jù)所述地址信息讀取帶調(diào)試信息的可執(zhí)行文件,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼。
第二方面,一種管理日志的裝置,所述裝置包括:
接收模塊,用于運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;
第一處理模塊,用于按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;
第二處理模塊,用于若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息。
優(yōu)選地,所述第一處理模塊,用于:
匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù);
若所述預(yù)設(shè)模式為錯誤模式,則向調(diào)試軟件發(fā)送調(diào)試命令,獲取所述調(diào)試軟件返回的調(diào)試結(jié)果;
若確定保存所述預(yù)設(shè)模式對應(yīng)的日志信息,則創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件;
將匹配到的日志信息,或者所述日志信息和所述調(diào)試結(jié)果保存至創(chuàng)建的文件;
在保存文件時,若設(shè)置保存文件的大小,則根據(jù)所述保存文件的大小對所述創(chuàng)建的文件進行分割;
若設(shè)置文件壓縮,則對分割后的文件進行壓縮處理后保存。
優(yōu)選地,所述裝置還包括:
顯示模塊,用于在匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù)之前,若匹配到所述日志信息中的高亮模式后,則將對應(yīng)行用預(yù)設(shè)顏色進行顯示。
優(yōu)選地,所述裝置還包括:
添加模塊,用于在創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件之后,若確定為所述日志信息的行首和行尾添加時間信息,則為與所述預(yù)設(shè)模式對應(yīng)的日志信息的行首和行尾添加時間信息。
優(yōu)選地,所述第二處理模塊,用于:
分析所述錯誤模式對應(yīng)的日志信息的堆棧,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼;或者,
分析所述錯誤模式對應(yīng)的日志信息中的地址信息;根據(jù)所述地址信息讀取帶調(diào)試信息的可執(zhí)行文件,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼。
本發(fā)明實施例提供一種管理日志的方法及裝置,運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息,在軟件調(diào)試時,對軟件運行時的日志進行收集、整理和分析,提高軟件調(diào)試效率,節(jié)約軟件調(diào)試時間;對軟件運行錯誤的部分源碼進行追蹤,并能對軟件進行有效的流程分析,使軟件問題的解決更加方便,更加快速有效。
附圖說明
圖1是本發(fā)明實施例提供的一種管理日志的方法的流程示意圖;
圖2是本發(fā)明實施例提供的另一種管理日志的方法的流程示意圖;
圖3是本發(fā)明實施例提供的另一種管理日志的方法的流程示意圖;
圖4是本發(fā)明實施例提供的一種管理日志的裝置的功能模塊示意圖。
具體實施方式
下面結(jié)合附圖和實施例對本發(fā)明實施例作進一步的詳細說明。可以理解的是,此處所描述的具體實施例僅僅用于解釋本發(fā)明實施例,而非對本發(fā)明實施例的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與本發(fā)明實施例相關(guān)的部分而非全部結(jié)構(gòu)。
參考圖1,圖1是本發(fā)明實施例提供一種管理日志的方法的流程示意圖。
如圖1所示,所述管理日志的方法包括:
步驟101,運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;
具體的,在電腦上運行的一個軟件,首先讀取軟件配置,然后運行被調(diào)試的軟件,本軟件可以接收調(diào)試軟件輸出的日志信息。在同一臺機器上,直接讀取日志輸出即可,如果不在同一臺機器上,需要通過網(wǎng)絡(luò)或者串口讀取日志信息。
步驟102,按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;
具體的,在讀取了日志信息之后,首先需要將對應(yīng)的日志顯示到電腦上,同時對軟件進行分析與保存,實現(xiàn)對日志的管理。具體方式如下:
優(yōu)選地,所述按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存,包括:
匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù);
若所述預(yù)設(shè)模式為錯誤模式,則向調(diào)試軟件發(fā)送調(diào)試命令,獲取所述調(diào)試軟件返回的調(diào)試結(jié)果;
若確定保存所述預(yù)設(shè)模式對應(yīng)的日志信息,則創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件;
將匹配到的日志信息,或者所述日志信息和所述調(diào)試結(jié)果保存至創(chuàng)建的文件;
在保存文件時,若設(shè)置保存文件的大小,則根據(jù)所述保存文件的大小對所述創(chuàng)建的文件進行分割;
若設(shè)置文件壓縮,則對分割后的文件進行壓縮處理后保存。
具體的,當(dāng)接收到日志之后,按行讀取日志,然后進行日志分析,主要分析方式為模式匹配,之后為交互模式匹配,讀取到了錯誤模式,就發(fā)送對應(yīng)命令給調(diào)試軟件,調(diào)試軟件的反饋結(jié)果也會以日志信息給本軟件,也可以進行分析和統(tǒng)計;完成如上匹配之后,確認是否需要將日志保存到文件,如不保存就直接讀取下一條進行分析,需要保存,則創(chuàng)建對應(yīng)模式的文件,將匹配模式的日志保存到該模式文件,否則保存到默認的文件中;當(dāng)設(shè)置了保存文件的大小,就需要對文件進行分割,當(dāng)設(shè)置了文件壓縮,也需要對保存的文件進行壓縮。
步驟103,若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息。
優(yōu)選地,所述分析所述錯誤模式對應(yīng)的日志信息,包括:
分析所述錯誤模式對應(yīng)的日志信息的堆棧,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼;或者,
分析所述錯誤模式對應(yīng)的日志信息中的地址信息;根據(jù)所述地址信息讀取帶調(diào)試信息的可執(zhí)行文件,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼。
具體的,當(dāng)接收到日志之后,按行讀取日志,然后匹配配置的錯誤模式,如果沒有匹配到就讀取下一條日志,如果匹配到了,先緩存日志,并標(biāo)記已經(jīng)在分析日志(出錯的日志都是連續(xù)的),根據(jù)之前匹配到的模式,一種情況為分析出錯日志的堆棧(比如,java的出錯輸出就直接將堆棧顯示出來),在此種情況,只需要簡單分析堆棧給出的文件信息與出錯行即可,另一種情況為輸出程序的堆棧地址(比如:C/c++的段錯誤異常),則需要分析出日志中的地址信息,然后通過讀取可執(zhí)行文件的調(diào)試信息,將地址信息轉(zhuǎn)換為相應(yīng)的文件名與出錯行,當(dāng)分析出錯的文件與對應(yīng)行,則讀取文件對應(yīng)行,逆向顯示(調(diào)用堆棧與調(diào)用關(guān)系是相反的)出程序的調(diào)用關(guān)系,并同時顯示出現(xiàn)問題的文件到對應(yīng)行。
本發(fā)明實施例提供一種管理日志的方法,運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息,在軟件調(diào)試時,對軟件運行時的日志進行收集、整理和分析,提高軟件調(diào)試效率,節(jié)約軟件調(diào)試時間;對軟件運行錯誤的部分源碼進行追蹤,并能對軟件進行有效的流程分析,使軟件問題的解決更加方便,更加快速有效。
參考圖2,圖2是本發(fā)明實施例提供一種管理日志的方法的流程示意圖。
如圖2所示,所述管理日志的方法包括:
步驟201,運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;
步驟202,若匹配到所述日志信息中的高亮模式后,則將對應(yīng)行用預(yù)設(shè)顏色進行顯示;
具體的,當(dāng)接收到日志之后,按行讀取日志,然后進行日志分析,主要分析方式為模式匹配,首先處理高亮顯示,當(dāng)匹配到設(shè)置的高亮模式之后,就將該行日志用對應(yīng)的顏色方案顯示,否則就以默認的顏色方案顯示。
其中,高亮顯示是以不同的顏色顯示,讓用戶更容易找到自己所想要的內(nèi)容。例如,高亮顯示模式包括:開始模式、正常模式和結(jié)束模式。
步驟203,匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù);
具體的,統(tǒng)計出現(xiàn)錯誤模式的次數(shù),計算出現(xiàn)故障的概率,方便分析程序的運行狀態(tài)或者測試的強度。例如,假設(shè)對打印機的錯誤程序進行調(diào)試時,若錯誤模式在一個時間周期內(nèi)的次數(shù)為5次,并在該時間周期內(nèi)打印機總共運行20次,則計算出現(xiàn)故障的概率為25%。
步驟204,若所述預(yù)設(shè)模式為錯誤模式,則向調(diào)試軟件發(fā)送調(diào)試命令,獲取所述調(diào)試軟件返回的調(diào)試結(jié)果;
步驟205,若確定保存所述預(yù)設(shè)模式對應(yīng)的日志信息,則創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件;
步驟206,將匹配到的日志信息,或者所述日志信息和所述調(diào)試結(jié)果保存至創(chuàng)建的文件;
步驟207,在保存文件時,若設(shè)置保存文件的大小,則根據(jù)所述保存文件的大小對所述創(chuàng)建的文件進行分割;
步驟208,若設(shè)置文件壓縮,則對分割后的文件進行壓縮處理后保存;
步驟209,若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息。
參考圖3,圖3是本發(fā)明實施例提供的另一種管理日志的方法的流程示意圖。
如圖3所示,所述管理日志的方法包括:
步驟301,運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;
步驟302,匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù);
步驟303,若所述預(yù)設(shè)模式為錯誤模式,則向調(diào)試軟件發(fā)送調(diào)試命令,獲取所述調(diào)試軟件返回的調(diào)試結(jié)果;
步驟304,若確定保存所述預(yù)設(shè)模式對應(yīng)的日志信息,則創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件;
步驟305,若確定為所述日志信息的行首和行尾添加時間信息,則為與所述預(yù)設(shè)模式對應(yīng)的日志信息的行首和行尾添加時間信息;
具體的,行首尾標(biāo)識表示:為接收到的日志行添加追蹤信息,主要為時間信息,方便分析程序的運行,時間格式為:年月日時分秒微秒(%y,%m,%d,%D,%M,%S,%u)的組合。
步驟306,將匹配到的日志信息,或者所述日志信息和所述調(diào)試結(jié)果保存至創(chuàng)建的文件;
步驟307,在保存文件時,若設(shè)置保存文件的大小,則根據(jù)所述保存文件的大小對所述創(chuàng)建的文件進行分割;
步驟308,若設(shè)置文件壓縮,則對分割后的文件進行壓縮處理后保存;
步驟309,若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息。
參考圖4,圖4是本發(fā)明實施例提供的一種管理日志的裝置的功能模塊示意圖。
如圖4所示,所述管理日志的裝置包括:
接收模塊401,用于運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;
第一處理模塊402,用于按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;
優(yōu)選地,所述第一處理模塊402,用于:
匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù);
若所述預(yù)設(shè)模式為錯誤模式,則向調(diào)試軟件發(fā)送調(diào)試命令,獲取所述調(diào)試軟件返回的調(diào)試結(jié)果;
若確定保存所述預(yù)設(shè)模式對應(yīng)的日志信息,則創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件;
將匹配到的日志信息,或者所述日志信息和所述調(diào)試結(jié)果保存至創(chuàng)建的文件;
在保存文件時,若設(shè)置保存文件的大小,則根據(jù)所述保存文件的大小對所述創(chuàng)建的文件進行分割;
若設(shè)置文件壓縮,則對分割后的文件進行壓縮處理后保存。
第二處理模塊403,用于若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息。
優(yōu)選地,所述第二處理模塊403,用于:
分析所述錯誤模式對應(yīng)的日志信息的堆棧,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼;或者,
分析所述錯誤模式對應(yīng)的日志信息中的地址信息;根據(jù)所述地址信息讀取帶調(diào)試信息的可執(zhí)行文件,獲取出錯文件以及對應(yīng)的行;讀取源碼路徑下對應(yīng)的源文件得到調(diào)用關(guān)系,同時打開出錯代碼。
優(yōu)選地,所述裝置還包括:
顯示模塊,用于在匹配所述日志信息中的預(yù)設(shè)模式,則獲取所述預(yù)設(shè)模式的匹配次數(shù)之前,若匹配到所述日志信息中的高亮模式后,則將對應(yīng)行用預(yù)設(shè)顏色進行顯示。
優(yōu)選地,所述裝置還包括:
添加模塊,用于在創(chuàng)建所述預(yù)設(shè)模式對應(yīng)的文件之后,若確定為所述日志信息的行首和行尾添加時間信息,則為與所述預(yù)設(shè)模式對應(yīng)的日志信息的行首和行尾添加時間信息。
本發(fā)明實施例提供一種管理日志的裝置,運行待調(diào)試軟件,并接收所述軟件輸出的日志信息;按照預(yù)設(shè)配置規(guī)則對所述日志信息進行模式匹配的分析和保存;若所述軟件出現(xiàn)異常情況,則獲取所述日志信息中的錯誤模式,分析所述錯誤模式對應(yīng)的日志信息,在軟件調(diào)試時,對軟件運行時的日志進行收集、整理和分析,提高軟件調(diào)試效率,節(jié)約軟件調(diào)試時間;對軟件運行錯誤的部分源碼進行追蹤,并能對軟件進行有效的流程分析,使軟件問題的解決更加方便,更加快速有效。
以上結(jié)合具體實施例描述了本發(fā)明實施例的技術(shù)原理。這些描述只是為了解釋本發(fā)明實施例的原理,而不能以任何方式解釋為對本發(fā)明實施例保護范圍的限制?;诖颂幍慕忉專绢I(lǐng)域的技術(shù)人員不需要付出創(chuàng)造性的勞動即可聯(lián)想到本發(fā)明實施例的其它具體實施方式,這些方式都將落入本發(fā)明實施例的保護范圍之內(nèi)。