[發明專利]一種內存異常訪問定位方法及裝置有效
| 申請號: | 200910058902.X | 申請日: | 2009-04-09 |
| 公開(公告)號: | CN101533370A | 公開(公告)日: | 2009-09-16 |
| 發明(設計)人: | 王洪雷 | 申請(專利權)人: | 成都市華為賽門鐵克科技有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 暫無信息 | 代理人: | 暫無信息 |
| 地址: | 611731四川省*** | 國省代碼: | 四川;51 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 異常 訪問 定位 方法 裝置 | ||
技術領域
本發明涉及通信技術領域,尤其涉及一種內存異常訪問定位方法及裝置。
背景技術
MIPS(Microproces?sor?without?Interlocked?Pipeline?Stages,無內部互鎖流水級的微處理器)是一種CPU體系架構,采用MIPS架構的CPU稱為MIPS?CPU。MIPS?CPU在寬帶設備、無線網絡、便攜游戲機、數碼相機、數字電視等領域有著廣泛的應用。
MIPS?CPU在開發調度階段,會存在內存異常訪問問題,所謂內存異常訪問是指在程序運行過程中,某一條指令(或某一段代碼)對內存的讀寫超出了正常讀寫范圍,對其它不屬于正常讀寫范圍的內存進行了修改,一般都跟內存越界、內存泄露等問題有關。在發生內存異常訪問現象時,程序剛開始運行時往往是正常的,但在運行過程中,當有指令想正常讀寫存在異常訪問現象的內存區域時,由于這片區域因為異常訪問問題已被非法修改過,因此程序將會出錯。由于這個原因,內存異常訪問現象有著隱蔽性強、難以定位等特點。
現有技術一般通過配置WATCH寄存器組或JTAG寄存器組監視內存地址來對內存異常訪問進行查找定位,以利用WATCH寄存器為例,參見圖1,包括如下步驟:
1)配置寄存器組,用于捕獲訪問行為;
2)系統正常執行;
3)對監視的內存地址發生訪問時,保存寄存器組;
通過保存寄存器組可以查看產生訪問的指令。
4)復位系統。
發明人在實現本發明過程中,發現現有技術至少存在以下缺點:
在對監視的內存地址發生訪問時,系統會產生異常,處理完異常返回后,程序會繼續執行產生異常的指令,從而再次進入異常,如此循環反復,只能復位系統,不能繼續對訪問指令進行捕獲及分析。同時,由于內存異常訪問現象發生的概率很低,而在實際中,對被監視的內存地址進行的訪問在大多數情況下都是正常的訪問,這時,現有技術中分析查看的指令往往都是正常的指令,從而無法對引起內存異常訪問現象的非法訪問指令進行有效定位。
發明內容
本發明實施例提供一種內存異常訪問定位方法及裝置,用于對內存異常訪問現象進行有效定位,通過以下方案來實現:
監視出現異常訪問的內存,捕獲訪問行為;
根據所述訪問行為獲取訪問指令,通過所述訪問指令對所述訪問行為進行定位;
分析所述訪問指令,得到分析結果;
根據所述分析結果,代替所述訪問指令完成相應的動作。
以及,
監視單元,用于監視出現異常訪問的內存,捕獲訪問行為;
獲取單元,用于根據所述訪問行為獲取訪問指令,通過所述訪問指令對所述訪問行為進行定位;
分析單元,用于分析所述訪問指令,得到分析結果;
代替單元,用于根據所述分析結果,代替所述訪問指令完成相應的動作。
上述技術方案中具有如下的優點:
通過不斷查看訪問指令,分析訪問指令,能夠有效及時地對內存異常訪問進行定位;并代替訪問指令完成相應的動作,避免了需要復位系統的情況,使得程序能夠繼續執行,從而可以不斷對內存異常訪問進行定位。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。
圖1為本發明方法實施例流程示意圖;
圖2為本發明方法實施例流程示意圖;
圖3為本發明裝置實施例結構示意圖。
具體實施方式
為使本發明的目的、技術方案及優點更加清楚明白,以下將通過具體實施例和相關附圖,對本發明作進一步詳細說明。
本發明實施例提供了一種內存異常訪問定位方法,用于有效地對內存異常訪問進行定位,參見圖1,包括如下步驟:
S101、監視出現異常訪問的內存,捕獲訪問行為;
可以通過配置相關寄存器組(如WATCH寄存器組或JTAG寄存器組)來監視出現異常訪問的內存,當有指令對被監視的內存進行訪問時,捕獲這些指令的訪問行為。
S102、根據所述訪問行為獲取訪問指令,通過所述訪問指令對所述訪問行為進行定位;
當通過配置WATCH寄存器組來監視內存時,可以通過查詢EPC寄存器獲取所述訪問指令;或者,
當通過配置JTAG寄存器組來監視內存時,可以通過查詢DEPC寄存器獲取所述訪問指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于成都市華為賽門鐵克科技有限公司,未經成都市華為賽門鐵克科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200910058902.X/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:交聯殼聚糖表面構建仿細胞外層膜結構的方法
- 下一篇:波浪能采收系統





