本發(fā)明專利技術(shù)提供一種報文軌跡追蹤方法及裝置,其中,方法包括:在接收到用戶輸入的預(yù)設(shè)命令時,判斷預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文;若預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號。該方法能解決在現(xiàn)網(wǎng)環(huán)境出現(xiàn)流量不通或業(yè)務(wù)功能異常時不能獲得報文所經(jīng)函數(shù)調(diào)用流程的問題。
Message path tracking method and device
The present invention provides including tracking method and device, a message path method: in the receiving user input the preset commands when judging the open command preset command is tracking message track function, the open command set mark message; if the default command on command message tracking function is. In the process of message in order to obtain the default macro function calls, and display message after message marker in the process of file name and function name and line number. The method can solve the problem that the function call process of message cannot be obtained in the presence of no traffic or service function in the network environment.
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及計算機及通信
,尤其涉及一種報文軌跡追蹤方法及裝置。
技術(shù)介紹
目前,研發(fā)內(nèi)部定位問題一般使用消除故障程序debug調(diào)試版本,獲取報文軌跡的方法一般是程序調(diào)試工具gdb下通過設(shè)置斷點然后使用bt命令查看函數(shù)調(diào)用棧信息,或依次逐層設(shè)置目標(biāo)函數(shù)為斷點,若目標(biāo)函數(shù)被斷住則執(zhí)行到了該函數(shù),然則反之.但是gdb調(diào)試過程中流量是中斷的;現(xiàn)網(wǎng)發(fā)布使用的版本一般為release版本,非gdb方式啟動不能直接進行g(shù)db調(diào)試,并且在不允許流量中斷的現(xiàn)網(wǎng)環(huán)境調(diào)試時一般也無法使用gdbattatchpid的方式進行g(shù)db調(diào)試,所以在現(xiàn)網(wǎng)環(huán)境出現(xiàn)流量不通或業(yè)務(wù)功能異常時就無法使用現(xiàn)有技術(shù)判斷出報文經(jīng)過的函數(shù)調(diào)用流程,進而無法確認(rèn)報文被丟棄在哪一層(二層:物理鏈路層;三層:傳輸層;四層及以上:網(wǎng)絡(luò)層),是接收方向有問題,還是發(fā)送方向有問題等。鑒于此,如何解決在現(xiàn)網(wǎng)環(huán)境出現(xiàn)流量不通或業(yè)務(wù)功能異常時不能獲得報文所經(jīng)函數(shù)調(diào)用流程的問題成為目前需要解決的技術(shù)問題。
技術(shù)實現(xiàn)思路
為解決上述的技術(shù)問題,本專利技術(shù)提供一種報文軌跡追蹤方法及裝置,能夠解決在現(xiàn)網(wǎng)環(huán)境出現(xiàn)流量不通或業(yè)務(wù)功能異常時不能獲得報文所經(jīng)函數(shù)調(diào)用流程的問題。第一方面,本專利技術(shù)提供一種報文軌跡追蹤方法,包括:在接收到用戶輸入的預(yù)設(shè)命令時,判斷所述預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文;若所述預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號。可選地,所述預(yù)設(shè)命令中包括:預(yù)設(shè)全局變量和預(yù)設(shè)全局變量指針;所述預(yù)設(shè)全局變量為報文軌跡追蹤功能開關(guān)標(biāo)志位,所述預(yù)設(shè)全局變量為第一預(yù)設(shè)值表示開啟報文軌跡追蹤功能,所述預(yù)設(shè)全局變量為第二預(yù)設(shè)值表示關(guān)閉報文軌跡追蹤功能;所述預(yù)設(shè)全局變量指針,用于在報文軌跡追蹤功能開啟時記錄作為報文追蹤對象的標(biāo)記報文指針,在報文軌跡追蹤功能關(guān)閉時賦值為空;所述預(yù)設(shè)宏函數(shù)中預(yù)先設(shè)置結(jié)構(gòu)體數(shù)組并聲明所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的全局變量;所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的成員,包括但不限于:文件名、函數(shù)名和行號。可選地,所述在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號,包括:在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),利用所述預(yù)設(shè)宏函判斷當(dāng)前報文是否為標(biāo)記報文,若是,則將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進所述預(yù)設(shè)宏函數(shù)中的預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中,并將所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的下標(biāo)進行累加;循環(huán)遍歷所述預(yù)設(shè)宏函數(shù)中的預(yù)設(shè)結(jié)構(gòu)體數(shù)組的全局變量,將標(biāo)記報文經(jīng)過的文件名、函數(shù)名和行號進行展示。可選地,所述判斷當(dāng)前報文是否為標(biāo)記報文,包括:判斷調(diào)用后預(yù)設(shè)宏函數(shù)中的入?yún)笪闹羔樖欠竦扔跇?biāo)記報文指針;若所述入?yún)笪闹羔樀扔跇?biāo)記報文指針,則確定當(dāng)前報文為標(biāo)記報文。可選地,所述將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中,包括:借助linux提供的宏,將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中。可選地,在所述獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號之后,所述方法還包括:將標(biāo)記報文的函數(shù)調(diào)用棧信息與正常報文流程的函數(shù)調(diào)用棧信息進行對比,確認(rèn)標(biāo)記報文所經(jīng)函數(shù)調(diào)用流程是否正常并在不正常時定位現(xiàn)網(wǎng)問題。第二方面,本專利技術(shù)提供一種報文軌跡追蹤方法裝置,包括:判斷模塊,用于在接收到用戶輸入的預(yù)設(shè)命令時,判斷所述預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文;調(diào)用模塊,用于若所述預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號。可選地,所述預(yù)設(shè)命令中包括:預(yù)設(shè)全局變量和預(yù)設(shè)全局變量指針;所述預(yù)設(shè)全局變量為報文軌跡追蹤功能開關(guān)標(biāo)志位,所述預(yù)設(shè)全局變量為第一預(yù)設(shè)值表示開啟報文軌跡追蹤功能,所述預(yù)設(shè)全局變量為第二預(yù)設(shè)值表示關(guān)閉報文軌跡追蹤功能;所述預(yù)設(shè)全局變量指針,用于在報文軌跡追蹤功能開啟時記錄作為報文追蹤對象的標(biāo)記報文指針,在報文軌跡追蹤功能關(guān)閉時賦值為空;所述預(yù)設(shè)宏函數(shù)中預(yù)先設(shè)置結(jié)構(gòu)體數(shù)組并聲明所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的全局變量;所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的成員,包括但不限于:文件名、函數(shù)名和行號。可選地,所述調(diào)用模塊,具體用于若所述預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),利用所述預(yù)設(shè)宏函判斷當(dāng)前報文是否為標(biāo)記報文,若是,則將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進所述預(yù)設(shè)宏函數(shù)中的預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中,并將所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的下標(biāo)進行累加;循環(huán)遍歷所述預(yù)設(shè)宏函數(shù)中的預(yù)設(shè)結(jié)構(gòu)體數(shù)組的全局變量,將標(biāo)記報文經(jīng)過的文件名、函數(shù)名和行號進行展示。可選地,所述裝置還包括:對比模塊,用于將標(biāo)記報文的函數(shù)調(diào)用棧信息與正常報文流程的函數(shù)調(diào)用棧信息進行對比,確認(rèn)標(biāo)記報文所經(jīng)函數(shù)調(diào)用流程是否正常并在不正常時定位現(xiàn)網(wǎng)問題。由上述技術(shù)方案可知,本專利技術(shù)的報文軌跡追蹤方法及裝置,通過在接收到用戶輸入的預(yù)設(shè)命令時,判斷所述預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文,若所述預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號,能夠解決在現(xiàn)網(wǎng)環(huán)境出現(xiàn)流量不通或業(yè)務(wù)功能異常時不能獲得報文所經(jīng)函數(shù)調(diào)用流程的問題,可將標(biāo)記報文的函數(shù)調(diào)用棧信息與正常報文流程的函數(shù)調(diào)用棧信息進行對比,確認(rèn)標(biāo)記報文所經(jīng)函數(shù)調(diào)用流程是否正常,可用于快速定位網(wǎng)絡(luò)不通或業(yè)務(wù)功能異常等現(xiàn)網(wǎng)問題。附圖說明圖1為本專利技術(shù)一實施例提供的一種報文軌跡追蹤方法的流程示意圖;圖2為本專利技術(shù)一實施例提供的一種報文軌跡追蹤方法裝置的結(jié)構(gòu)示意圖。具體實施方式為使本專利技術(shù)實施例的目的、技術(shù)方案和優(yōu)點更加清楚,下面將結(jié)合本專利技術(shù)實施例中的附圖,對本專利技術(shù)實施例中的技術(shù)方案進行清楚、完整的描述,顯然,所描述的實施例僅僅是本專利技術(shù)一部分實施例,而不是全部的實施例。基于本專利技術(shù)的實施例,本領(lǐng)域普通技術(shù)人員在沒有做出創(chuàng)造性勞動前提下所獲得的所有其他的實施例,都屬于本專利技術(shù)保護的范圍。圖1示出了本專利技術(shù)一實施例提供的報文軌跡追蹤方法的流程示意圖,如圖1所示,本實施例的報文軌跡追蹤方法如下所述。101、在接收到用戶輸入的預(yù)設(shè)命令時,判斷所述預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文。其中,所述預(yù)設(shè)命令中可包括:預(yù)設(shè)全局變量和預(yù)設(shè)全局變量指針;所述預(yù)設(shè)全局變量為報文軌跡追蹤功能開關(guān)標(biāo)志位,所述預(yù)設(shè)全局變量為第一預(yù)設(shè)值表示開啟報文軌跡追蹤功能,所述預(yù)設(shè)全局變量為第二預(yù)設(shè)值表示關(guān)閉報文軌跡追蹤功能;所述預(yù)設(shè)全局變量指針,用于在報文軌跡追蹤功能開啟時記錄作為報文追蹤對象的標(biāo)記報文指針,在報文軌跡追蹤功能關(guān)閉時賦值為空NULL。例如,所述預(yù)設(shè)全局變量可以設(shè)置為g_ulPacketTrackFlag,所述預(yù)設(shè)全局變量指針可以設(shè)置為g_pstPacketTrace,所述第一預(yù)設(shè)值可以為1,所述第二預(yù)設(shè)值可以為0,在用戶要輸入預(yù)設(shè)命令開啟報文軌跡追蹤功能時g_ulPacketTrackFlag置1并預(yù)先將g_pstPacke本文檔來自技高網(wǎng)...

【技術(shù)保護點】
一種報文軌跡追蹤方法,其特征在于,包括:在接收到用戶輸入的預(yù)設(shè)命令時,判斷所述預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文;若所述預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號。
【技術(shù)特征摘要】
1.一種報文軌跡追蹤方法,其特征在于,包括:在接收到用戶輸入的預(yù)設(shè)命令時,判斷所述預(yù)設(shè)命令是否為報文軌跡追蹤功能的開啟命令,所述開啟命令中預(yù)先設(shè)置了標(biāo)記報文;若所述預(yù)設(shè)命令為報文軌跡追蹤功能的開啟命令,則在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述預(yù)設(shè)命令中包括:預(yù)設(shè)全局變量和預(yù)設(shè)全局變量指針;所述預(yù)設(shè)全局變量為報文軌跡追蹤功能開關(guān)標(biāo)志位,所述預(yù)設(shè)全局變量為第一預(yù)設(shè)值表示開啟報文軌跡追蹤功能,所述預(yù)設(shè)全局變量為第二預(yù)設(shè)值表示關(guān)閉報文軌跡追蹤功能;所述預(yù)設(shè)全局變量指針,用于在報文軌跡追蹤功能開啟時記錄作為報文追蹤對象的標(biāo)記報文指針,在報文軌跡追蹤功能關(guān)閉時賦值為空;所述預(yù)設(shè)宏函數(shù)中預(yù)先設(shè)置結(jié)構(gòu)體數(shù)組并聲明所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的全局變量;所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的成員,包括但不限于:文件名、函數(shù)名和行號。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,所述在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),以獲取并展示標(biāo)記報文在報文流程中經(jīng)過的文件名、函數(shù)名和行號,包括:在報文流程中依次調(diào)用預(yù)設(shè)宏函數(shù),利用所述預(yù)設(shè)宏函判斷當(dāng)前報文是否為標(biāo)記報文,若是,則將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進所述預(yù)設(shè)宏函數(shù)中的預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中,并將所述預(yù)設(shè)結(jié)構(gòu)體數(shù)組的下標(biāo)進行累加;循環(huán)遍歷所述預(yù)設(shè)宏函數(shù)中的預(yù)設(shè)結(jié)構(gòu)體數(shù)組的全局變量,將標(biāo)記報文經(jīng)過的文件名、函數(shù)名和行號進行展示。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述判斷當(dāng)前報文是否為標(biāo)記報文,包括:判斷調(diào)用后預(yù)設(shè)宏函數(shù)中的入?yún)笪闹羔樖欠竦扔跇?biāo)記報文指針;若所述入?yún)笪闹羔樀扔跇?biāo)記報文指針,則確定當(dāng)前報文為標(biāo)記報文。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中,包括:借助linux提供的宏,將對應(yīng)調(diào)用所述預(yù)設(shè)宏函數(shù)的文件名、函數(shù)名和行號記錄進預(yù)設(shè)結(jié)構(gòu)體數(shù)組的變量中。6.根據(jù)權(quán)利...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:高福亮,
申請(專利權(quán))人:漢柏科技有限公司,
類型:發(fā)明
國別省市:天津;12
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。