[發(fā)明專利]一種實現(xiàn)經(jīng)過性數(shù)據(jù)斷點的方法、裝置及系統(tǒng)無效
| 申請?zhí)枺?/td> | 201210112766.X | 申請日: | 2012-04-17 |
| 公開(公告)號: | CN102662845A | 公開(公告)日: | 2012-09-12 |
| 發(fā)明(設計)人: | 黃見輝 | 申請(專利權(quán))人: | 華為技術(shù)有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京中博世達專利商標代理有限公司 11274 | 代理人: | 申健 |
| 地址: | 518129 廣東*** | 國省代碼: | 廣東;44 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 實現(xiàn) 經(jīng)過 數(shù)據(jù) 斷點 方法 裝置 系統(tǒng) | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計算機領(lǐng)域,尤其涉及一種實現(xiàn)經(jīng)過性數(shù)據(jù)斷點的方法、裝置及系統(tǒng)。
背景技術(shù)
經(jīng)過性數(shù)據(jù)斷點是軟件定位數(shù)據(jù)或指令后,進行改寫的必要功能。經(jīng)過性數(shù)據(jù)斷點的基本原理是將要監(jiān)控的數(shù)據(jù)或指令地址設置到CPU的調(diào)試寄存器中,當CPU訪問被監(jiān)控的數(shù)據(jù)或指令地址時就會觸發(fā)一個trap(陷阱)異常處理程序,處理完該trap異常處理程序后會恢復到觸發(fā)該trap異常處理程序的上下文,繼續(xù)執(zhí)行。整個過程不影響原系統(tǒng)的狀態(tài)。
但是,現(xiàn)有的Linux?ARM或Unix?ARM系統(tǒng)實現(xiàn)斷點處理時有如下問題:
當源程序運行到被監(jiān)控的數(shù)據(jù)或指令的地址處時,CPU會觸發(fā)一個trap異常處理程序,在Linux?ARM或Unix?ARM系統(tǒng)中,由于這個trap為同步異常,所以在執(zhí)行完trap異常處理程序后,會重新執(zhí)行那條觸發(fā)trap的指令。這樣一來,又會再次觸發(fā)trap異常處理程序,結(jié)果造成循環(huán)觸發(fā),無法實現(xiàn)經(jīng)過性數(shù)據(jù)斷點,進而導致中斷現(xiàn)有軟件系統(tǒng)的業(yè)務的問題。
發(fā)明內(nèi)容
本發(fā)明的實施例提供一種實現(xiàn)經(jīng)過性數(shù)據(jù)斷點的方法、裝置及系統(tǒng),用以在linux?ARM或Unix?ARM系統(tǒng)中實現(xiàn)經(jīng)過性數(shù)據(jù)斷點。
為達到上述目的,本發(fā)明的實施例采用如下技術(shù)方案:
一方面,提供一種實現(xiàn)經(jīng)過性數(shù)據(jù)斷點的方法,應用在運行有源程序的Linux?ARM或Unix?ARM系統(tǒng)中,所述源程序中設置有至少一個數(shù)據(jù)斷點;所述方法包括:
當所述源程序運行到設置有數(shù)據(jù)斷點的指令處時,取消所述數(shù)據(jù)斷點;
對所述設置有數(shù)據(jù)斷點的指令進行解碼;
執(zhí)行所述解碼后的指令;
重新在所述設置有數(shù)據(jù)斷點的指令處設定數(shù)據(jù)斷點;
將程序計數(shù)器PC指針指向所述設置有數(shù)據(jù)斷點的指令的下一條指令,其中,所述程序計數(shù)器PC指針用于存放將要執(zhí)行的下一條指令的地址。
一方面,提供一種實現(xiàn)經(jīng)過性數(shù)據(jù)斷點的方法,應用在運行有源程序的Linux?ARM或Unix?ARM系統(tǒng)中;所述源程序中設置有至少一個數(shù)據(jù)斷點;所述方法包括:
當所述源程序運行到設置有數(shù)據(jù)斷點的指令處時,取消所述數(shù)據(jù)斷點;
備份所述設置有數(shù)據(jù)斷點的指令的下一條指令,作為備份指令;
將所述設置有數(shù)據(jù)斷點的指令的下一條指令修改為非法指令;
執(zhí)行所述設置有數(shù)據(jù)斷點的指令以及所述修改后的下一條指令;
恢復所述設置有數(shù)據(jù)斷點的指令處的數(shù)據(jù)斷點;
將所述修改后的下一條指令恢復為所述備份指令。
一方面,提供一種通信系統(tǒng),所述通信系統(tǒng)包括內(nèi)存和至少一個CPU;
所述CPU中運行有操作系統(tǒng),所述操作系統(tǒng)之上運行有至少一種應用程序,所述應用程序包括源程序以及與之關(guān)聯(lián)的至少一個異常處理程序;所述內(nèi)存中載入有所述源程序和所述異常處理程序,所述源程序中設置有至少一個數(shù)據(jù)斷點,當所述源程序運行到具有數(shù)據(jù)斷點的指令處時觸發(fā)所述異常處理程序,所述異常處理程序還用于,
當所述源程序運行到設置有數(shù)據(jù)斷點的指令處時,取消所述數(shù)據(jù)斷點;
對所述設置有數(shù)據(jù)斷點的指令進行解碼;
執(zhí)行所述解碼后的指令;
重新在所述設置有數(shù)據(jù)斷點的指令處設定數(shù)據(jù)斷點;
將程序計數(shù)器PC指針指向所述設置有數(shù)據(jù)斷點的指令的下一條指令,其中,所述程序計數(shù)器PC指針用于存放將要執(zhí)行的下一條指令的地址。
一方面,提供一種通信系統(tǒng),所述通信系統(tǒng)包括內(nèi)存和至少一個CPU;
所述CPU中運行有操作系統(tǒng),所述操作系統(tǒng)之上運行有至少一種應用程序,所述應用程序包括源程序以及與之關(guān)聯(lián)的至少一個異常處理程序;所述內(nèi)存中載入有所述源程序和所述異常處理程序,所述源程序中設置有至少一個數(shù)據(jù)斷點,當所述源程序運行到具有數(shù)據(jù)斷點的指令處時觸發(fā)異常處理程序,所述異常處理程序還用于,
當所述源程序運行到設置有數(shù)據(jù)斷點的指令處時,取消所述數(shù)據(jù)斷點;
備份所述設置有數(shù)據(jù)斷點的指令的下一條指令,作為備份指令;
將所述設置有數(shù)據(jù)斷點的指令的下一條指令修改為非法指令;
執(zhí)行所述設置有數(shù)據(jù)斷點的指令以及所述修改后的下一條指令;
恢復所述設置有數(shù)據(jù)斷點的指令處的數(shù)據(jù)斷點;
將所述修改后的下一條指令恢復為所述備份指令。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于華為技術(shù)有限公司,未經(jīng)華為技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210112766.X/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 互動業(yè)務終端、實現(xiàn)系統(tǒng)及實現(xiàn)方法
- 街景地圖的實現(xiàn)方法和實現(xiàn)系統(tǒng)
- 游戲?qū)崿F(xiàn)系統(tǒng)和游戲?qū)崿F(xiàn)方法
- 圖像實現(xiàn)裝置及其圖像實現(xiàn)方法
- 增強現(xiàn)實的實現(xiàn)方法以及實現(xiàn)裝置
- 軟件架構(gòu)的實現(xiàn)方法和實現(xiàn)平臺
- 數(shù)值預報的實現(xiàn)方法及實現(xiàn)系統(tǒng)
- 空調(diào)及其冬眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 空調(diào)及其睡眠控制模式實現(xiàn)方法和實現(xiàn)裝置以及實現(xiàn)系統(tǒng)
- 輸入設備實現(xiàn)方法及其實現(xiàn)裝置
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設備和數(shù)據(jù)讀取方法
- 數(shù)據(jù)記錄方法、數(shù)據(jù)記錄裝置、數(shù)據(jù)記錄媒體、數(shù)據(jù)重播方法和數(shù)據(jù)重播裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)發(fā)送系統(tǒng)、數(shù)據(jù)發(fā)送裝置以及數(shù)據(jù)結(jié)構(gòu)
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設備、數(shù)據(jù)中繼方法及數(shù)據(jù)系統(tǒng)
- 數(shù)據(jù)嵌入裝置、數(shù)據(jù)嵌入方法、數(shù)據(jù)提取裝置及數(shù)據(jù)提取方法
- 數(shù)據(jù)管理裝置、數(shù)據(jù)編輯裝置、數(shù)據(jù)閱覽裝置、數(shù)據(jù)管理方法、數(shù)據(jù)編輯方法以及數(shù)據(jù)閱覽方法
- 數(shù)據(jù)發(fā)送和數(shù)據(jù)接收設備、數(shù)據(jù)發(fā)送和數(shù)據(jù)接收方法
- 數(shù)據(jù)發(fā)送裝置、數(shù)據(jù)接收裝置、數(shù)據(jù)收發(fā)系統(tǒng)、數(shù)據(jù)發(fā)送方法、數(shù)據(jù)接收方法和數(shù)據(jù)收發(fā)方法
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置
- 數(shù)據(jù)發(fā)送方法、數(shù)據(jù)再現(xiàn)方法、數(shù)據(jù)發(fā)送裝置及數(shù)據(jù)再現(xiàn)裝置





