[發明專利]一種內存被改寫的監控方法無效
| 申請號: | 200810084008.5 | 申請日: | 2008-03-11 |
| 公開(公告)號: | CN101251822A | 公開(公告)日: | 2008-08-27 |
| 發明(設計)人: | 周玉輝 | 申請(專利權)人: | 中興通訊股份有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京安信方達知識產權代理有限公司 | 代理人: | 龍洪;霍育棟 |
| 地址: | 518057廣東省深圳市南山*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 內存 改寫 監控 方法 | ||
技術領域
本發明涉及嵌入式技術領域,尤其涉及一種內存被改寫的監控方法。
背景技術
嵌入式系統的軟件開發編程,內存使用是最容易出問題的一個地方,在我們日常的故障中,關于內存使用方面的故障比例還是相當高的,這其中“內存被改寫”是最為嚴重最為可怕的一種情況,而且非常難以定位,經常會耗費大量的人力去分析解決,有時就因為一個這樣的故障而導致任務進度受阻、版本發布延期等嚴重后果。
發明內容
本發明要解決的技術問題是提供一種內存被改寫的監控方法,提高系統的故障查找能力,以保障系統更穩定的運行。
為了解決上述問題,本發明提供了一種內存被改寫的監控方法,包括如下步驟:
步驟一,在主程序中掛接數據異常處理程序和單步跟蹤異常處理程序,將受監控的內存所在頁面設置為不可寫狀態;
步驟二,如果主程序收到修改指令,需要修改受監控的內存時,進入數據異常處理程序,獲取并保存監控信息,再將所述頁面設置為可寫狀態后返回主程序;
步驟三,執行所述修改指令后,進入單步跟蹤異常處理程序,保存修改完成后的監控信息,重置所述頁面為不可寫狀態后返回主程序。
進一步地,上述方法還可具有以下特點,步驟二中所述監控信息包括修改指令、受監控的內存被改寫前的值以及進行改寫的函數堆棧,步驟三中所述修改完成后的監控信息包括受監控的內存被改寫后的值。
進一步地,上述方法還可具有以下特點,所述數據異常處理程序中,在保存監控信息后還保存當前的機器狀態寄存器的內容,且在關外部中斷情況下使能單步跟蹤異常。
進一步地,上述方法還可具有以下特點,所述單步跟蹤異常處理程序中,在保存監控信息之前,進一步還使能外部中斷并恢復機器狀態寄存器的內容。
進一步地,上述方法還可具有以下特點,用戶在系統中分配一塊內存空間用作記錄空間,所述記錄空間用于保存受監控的內存的監控信息,該記錄空間由用戶管理,在重啟后由用戶將其清空;所述監控信息包括執行修改受監控的內存的指令、受監控的內存被改寫前的值、受監控的內存被改寫后的值以及進行改寫的函數堆棧。
進一步地,上述方法還可具有以下特點,分配記錄空間后,用戶啟動輪詢檢測定時器,并在系統中添加檢測函數,檢測記錄空間中是否有新的監控信息填入。
進一步地,上述方法還可具有以下特點,檢測函數檢測到記錄空間里有監控信息填入后,將所述監控信息存入到非易失性的存儲設備里面,并將記錄空間的監控信息清空用作下次記錄;所述非易失性的存儲設備包括閃存、安全數碼卡和壓縮閃存卡。
進一步地,上述方法還可具有以下特點,所述輪詢檢測定時器是系統時鐘,或者是由定時時鐘衍生出來的定時功能的程序,或者是單獨由中央處理器提供的其它定時單元所形成的具有定時功能的程序,其檢測的時間間隔根據用戶的需要而設定。
進一步地,上述方法還可具有以下特點,用戶根據所述監控信息分析棧及程序源代碼,獲得改寫受監控的內存的來源,即修改指令、該指令所在的函數以及相應的調用關系。
進一步地,上述方法還可具有以下特點,所述監控信息的記錄手段還包括直接打印到文件的方式和發消息到專門處理記錄的進程的方式。
由上可見,本發明所述方法可以實時監控內存的改寫情況,通過記錄來分析數據改寫的有效性,以及分析是否是程序員所需要的改寫,并且本發明所述方法能記錄改寫前后的值、函數等信息,可以有效的幫助研發人員在開發與工程現場對這類故障快速定位原因,增強研發效率。
附圖說明
圖1為本發明的監控啟動流程圖;
圖2為本發明的數據異常處理流程圖;
圖3為本發明的單步跟蹤異常處理流程圖。
具體實施方式
本發明的主要構思是,利用MMU(Memory?Management?Unit,存儲器管理單元)的可配置性、CPU(中央處理器)的單步跟蹤異常特性,自動收集如下操作信息:哪塊內存被改寫?被誰改寫?然后將這些收集到的信息存儲進非易失性的存儲設備里面,而后根據記錄分析函數調用棧、程序源代碼,從而可以得出去內存改寫的“元兇”。需要說明的是,使用本發明的嵌入式系統的CPU(中央處理器)必須具有MMU以及數據異常、單步跟蹤異常特性。
下面結合附圖對本發明的技術方案作詳細描述。
內存被改寫的監控方法包括如下步驟:
步驟一,啟動監控;
具體地,如圖1所示,步驟一包括以下子步驟:
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中興通訊股份有限公司,未經中興通訊股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200810084008.5/2.html,轉載請聲明來源鉆瓜專利網。





