[發(fā)明專利]一種函數(shù)運(yùn)行的追蹤方法和裝置在審
| 申請?zhí)枺?/td> | 201810594578.2 | 申請日: | 2018-06-11 |
| 公開(公告)號: | CN108959069A | 公開(公告)日: | 2018-12-07 |
| 發(fā)明(設(shè)計(jì))人: | 趙立飛;吳金貴 | 申請(專利權(quán))人: | 北京奇藝世紀(jì)科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京潤澤恒知識產(chǎn)權(quán)代理有限公司 11319 | 代理人: | 莎日娜 |
| 地址: | 100080 北京市海淀*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 追蹤 方法和裝置 程序調(diào)試系統(tǒng) 函數(shù)參數(shù) 目標(biāo)程序 可執(zhí)行代碼 調(diào)用 調(diào)試 后臺 發(fā)送 返回 記錄 出口 應(yīng)用 | ||
1.一種函數(shù)運(yùn)行的追蹤方法,應(yīng)用于程序調(diào)試系統(tǒng),其特征在于,所述追蹤方法包括步驟:
在被追蹤的目標(biāo)程序在調(diào)試為可執(zhí)行代碼前,在所述目標(biāo)程序中每個(gè)函數(shù)的入口和出口插入預(yù)先編寫的追蹤代碼,所述追蹤代碼用于向所述程序調(diào)試系統(tǒng)的后臺發(fā)送所述函數(shù)的運(yùn)行時(shí)間、函數(shù)名和/或函數(shù)參數(shù);
在調(diào)用所述函數(shù)時(shí),執(zhí)行所述追蹤代碼;
記錄所述追蹤代碼被執(zhí)行時(shí)所返回的所述運(yùn)行時(shí)間、所述函數(shù)名和/或所述函數(shù)參數(shù)。
2.如權(quán)利要求1所述的追蹤方法,其特征在于,所述在所述目標(biāo)程序中每個(gè)函數(shù)的入口和出口插入預(yù)先編寫的追蹤代碼,包括:
確定所述入口的位置,并確定所述出口的位置;
將所述預(yù)先編寫的追蹤代碼插入到所述入口的位置和所述出口的位置。
3.如權(quán)利要求2所述的追蹤方法,其特征在于,所述并確定所述出口的位置,包括:
將所述函數(shù)的返回指令確定為所述出口的位置;
或者,在所述函數(shù)的所有代碼外部套接一個(gè)try…catch塊,將所述try…catch塊末尾的異常處理模塊作為所述出口的位置。
4.如權(quán)利要求3所述的追蹤方法,其特征在于,所述函數(shù)的所有代碼的外部套接一個(gè)try…catch塊,包括:
將所述函數(shù)的所有指令讀入到內(nèi)存中;
從后向前尋找最后一條返回指令,將第一條指令至所述最后一條返回指令作為所述try...catch塊的try部分,在catch部分直接記錄函數(shù)出口信息,并利用所述異常處理模塊將捕捉到的異常拋出。
5.如權(quán)利要求1~4任一項(xiàng)所述的追蹤方法,其特征在于,還包括步驟:
以樹的方式顯示被返回的所述運(yùn)行時(shí)間、所述函數(shù)名和/或所述函數(shù)參數(shù)。
6.一種函數(shù)運(yùn)行的追蹤裝置,應(yīng)用于程序調(diào)試系統(tǒng),其特征在于,所述追蹤裝置包括:
代碼插入模塊,用于在被追蹤的目標(biāo)程序在調(diào)試為可執(zhí)行代碼前,在所述目標(biāo)程序中每個(gè)函數(shù)的入口和出口插入預(yù)先編寫的追蹤代碼,所述追蹤代碼用于向所述程序調(diào)試系統(tǒng)的后臺發(fā)送所述函數(shù)的運(yùn)行時(shí)間、函數(shù)名和/或函數(shù)參數(shù);
代碼執(zhí)行模塊,在調(diào)用所述函數(shù)時(shí),執(zhí)行所述追蹤代碼;
結(jié)果記錄模塊,用于記錄所述追蹤代碼被執(zhí)行時(shí)所返回的所述運(yùn)行時(shí)間、所述函數(shù)名和/或所述函數(shù)參數(shù)。
7.如權(quán)利要求6所述的追蹤裝置,其特征在于,所述代碼插入模塊包括:
位置確定單元,用于確定所述入口的位置,并確定所述出口的位置;
插入執(zhí)行單元,用于將所述追蹤代碼插入到所述入口的位置和所述出口的位置。
8.如權(quán)利要求7所述的追蹤裝置,其特征在于,所述位置確定單元包括:
第一確定子單元,用于將所述函數(shù)的返回指令確定為所述出口的位置;
第二確定子單元,用于在所述函數(shù)的所有代碼的外部套接一個(gè)try…catch塊,將所述try…catch塊的末尾的異常處理模塊作為所述出口的位置。
9.如權(quán)利要求8所述的追蹤裝置,其特征在于,所述第二確定子單元具體用于將所述函數(shù)的所有指令讀入到內(nèi)存中;從后向前尋找最后一條返回指令,將第一條指令至所述最后一條返回指令作為所述try...catch塊的try部分,在catch部分直接記錄函數(shù)出口信息,并利用所述異常處理模塊將捕捉到的異常拋出。
10.如權(quán)利要求6~9任一項(xiàng)所述的追蹤裝置,其特征在于,還包括:
結(jié)果展示模塊,用于以樹的方式顯示被返回的所述運(yùn)行時(shí)間、所述函數(shù)名和/或所述函數(shù)參數(shù)。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京奇藝世紀(jì)科技有限公司,未經(jīng)北京奇藝世紀(jì)科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810594578.2/1.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測;錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測試作故障硬件的檢測或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測試或調(diào)試防止錯(cuò)誤
- 一種嵌入式系統(tǒng)的調(diào)試方法及其系統(tǒng)
- 嵌入式系統(tǒng)的在線調(diào)試系統(tǒng)及其調(diào)試方法
- 嵌入式系統(tǒng)的調(diào)試方法
- 基于動態(tài)反編譯技術(shù)的二進(jìn)制應(yīng)用程序調(diào)試方法
- 一種并行程序的調(diào)試系統(tǒng)及方法
- 具有程序分析功能的程序調(diào)試系統(tǒng)
- 一種調(diào)試應(yīng)用程序的方法及裝置
- 一種嵌入式系統(tǒng)的調(diào)試方法及調(diào)試系統(tǒng)
- 一種智能卡的程序調(diào)試方法及裝置
- 程序的調(diào)試方法及裝置
- 一種實(shí)現(xiàn)非結(jié)構(gòu)化補(bǔ)充數(shù)據(jù)業(yè)務(wù)的方法及裝置
- 內(nèi)核函數(shù)調(diào)用方法、裝置及操作系統(tǒng)
- 尋優(yōu)參數(shù)化的網(wǎng)絡(luò)信息安全檢測系統(tǒng)和方法
- 電子表格中函數(shù)對應(yīng)的提示信息的顯示方法及裝置
- 電池參數(shù)配置系統(tǒng)
- 一種嵌入式軟件的源代碼級錯(cuò)誤檢測方法
- 參數(shù)校驗(yàn)方法、裝置和服務(wù)器
- 函數(shù)配置方法、裝置、存儲介質(zhì)及電子設(shè)備
- 一種函數(shù)解析方法及其計(jì)算機(jī)設(shè)備
- 一種基于XML節(jié)點(diǎn)格式的傳入和傳出函數(shù)參數(shù)的方法





