[發(fā)明專利]一種現(xiàn)場數(shù)據(jù)的保存方法和恢復(fù)方法以及相關(guān)裝置有效
| 申請(qǐng)?zhí)枺?/td> | 201110455767.X | 申請(qǐng)日: | 2011-12-30 |
| 公開(公告)號(hào): | CN103186461A | 公開(公告)日: | 2013-07-03 |
| 發(fā)明(設(shè)計(jì))人: | 陳俊華 | 申請(qǐng)(專利權(quán))人: | 重慶重郵信科通信技術(shù)有限公司 |
| 主分類號(hào): | G06F11/36 | 分類號(hào): | G06F11/36 |
| 代理公司: | 北京集佳知識(shí)產(chǎn)權(quán)代理有限公司 11227 | 代理人: | 逯長明 |
| 地址: | 400065 *** | 國省代碼: | 重慶;85 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 現(xiàn)場 數(shù)據(jù) 保存 方法 恢復(fù) 以及 相關(guān) 裝置 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,尤其涉及一種現(xiàn)場數(shù)據(jù)的保存方法和恢復(fù)方法以及相關(guān)裝置。
背景技術(shù)
在嵌入式設(shè)備進(jìn)行真實(shí)環(huán)境測(cè)試時(shí)或在平常使用嵌入式設(shè)備時(shí),嵌入式設(shè)備可能會(huì)發(fā)生各種各樣的異常情況,導(dǎo)致嵌入式設(shè)備無法正常工作,這就需要檢測(cè)嵌入式設(shè)備存在什么樣的異常情況以便于恢復(fù),但是此時(shí)由于嵌入式設(shè)備不可能像在實(shí)驗(yàn)室進(jìn)行測(cè)試時(shí)那樣連接有調(diào)試器進(jìn)行檢測(cè),況且現(xiàn)場的測(cè)試人員或使用者也不具備設(shè)備異常分析能力,這就需要對(duì)嵌入式設(shè)備的當(dāng)前工作現(xiàn)場進(jìn)行保存后,然后再拿回提供給開發(fā)人員進(jìn)行分析。
現(xiàn)有技術(shù)中,嵌入式設(shè)備異常后數(shù)據(jù)保存和恢復(fù)的處理方法通常是:現(xiàn)場人員向嵌入式設(shè)備的Trace輸出口或內(nèi)部保存的日志(log)文件輸入導(dǎo)致系統(tǒng)崩潰的字符串,以打印出記錄出錯(cuò)原因、錯(cuò)誤號(hào)以及文件系統(tǒng)當(dāng)前狀態(tài)、正在運(yùn)行的進(jìn)程堆棧、當(dāng)前函數(shù)嵌套調(diào)用的情況等等的信息,然后將這些打印信息拿給開發(fā)人員,開發(fā)人員通過對(duì)軟件代碼進(jìn)行回朔來查找出問題的地方。
但是本發(fā)明的發(fā)明人在實(shí)現(xiàn)本發(fā)明的過程中發(fā)現(xiàn):現(xiàn)有的嵌入式設(shè)備異常后數(shù)據(jù)保存和恢復(fù)的方法只能夠解決一些簡單問題,但無法解決較復(fù)雜一點(diǎn)的軟件問題。例如,現(xiàn)有的方式可以解決出現(xiàn)在當(dāng)前進(jìn)程內(nèi)的錯(cuò)誤,但如果軟件出現(xiàn)錯(cuò)誤的地方并不在當(dāng)前進(jìn)程內(nèi),而是在較長時(shí)間以前就已經(jīng)發(fā)生了,只是當(dāng)軟件運(yùn)行到此處時(shí)錯(cuò)誤才表現(xiàn)出來,那么按照現(xiàn)有的方式通過軟件進(jìn)行記錄的log文件是無法找到錯(cuò)誤的,也就更無法解決錯(cuò)誤了;又如,當(dāng)前異對(duì)嵌入式設(shè)備的軟件的錯(cuò)誤操作(例如非法訪問地址、CPU產(chǎn)生Abort錯(cuò)誤)引發(fā)硬件進(jìn)入異常模式,按照現(xiàn)有的方式僅保存的當(dāng)前軟件信息也是不足以分析問題的。而且,開發(fā)人員在進(jìn)行問題分析時(shí)通過保存的打印信息來恢復(fù)當(dāng)時(shí)的場景,即使配合反匯編工具也極其不方便,無法快速、直觀的再現(xiàn)當(dāng)時(shí)的場景。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種現(xiàn)場數(shù)據(jù)的保存方法和恢復(fù)方法以及相關(guān)裝置,用于解決嵌入式設(shè)備出現(xiàn)異常后現(xiàn)場數(shù)據(jù)的恢復(fù)。
一方面,本發(fā)明實(shí)施例提供的現(xiàn)場數(shù)據(jù)的保存方法,包括:
當(dāng)嵌入式設(shè)備發(fā)生異常時(shí),觸發(fā)軟中斷;
讀取所述嵌入式設(shè)備發(fā)生異常時(shí)的現(xiàn)場數(shù)據(jù),將所述現(xiàn)場數(shù)據(jù)保存到非易失性文件系統(tǒng)中,所述現(xiàn)場數(shù)據(jù)包括所述嵌入式設(shè)備的內(nèi)存中的數(shù)據(jù)、中央處理單元CPU的通用寄存器以及協(xié)處理器的寄存器中的數(shù)據(jù);
將所述現(xiàn)場數(shù)據(jù)的信息寫入異常數(shù)據(jù)描述文件中,將所述異常數(shù)據(jù)描述文件保存到所述非易失性文件系統(tǒng)中,所述現(xiàn)場數(shù)據(jù)的信息包括:所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)類型、所述現(xiàn)場數(shù)據(jù)對(duì)應(yīng)地址空間的起始地址、所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)長度以及所述嵌入式設(shè)備發(fā)生異常的類型。
另一方面,本發(fā)明實(shí)施例提供的現(xiàn)場數(shù)據(jù)的恢復(fù)方法,包括:
根據(jù)異常數(shù)據(jù)描述文件將現(xiàn)場數(shù)據(jù)裝載到中央處理單元CPU模擬器上,其中,所述現(xiàn)場數(shù)據(jù)為嵌入式設(shè)備發(fā)生異常時(shí)保存的數(shù)據(jù),所述異常數(shù)據(jù)描述文件中寫入有所述現(xiàn)場數(shù)據(jù)的信息,所述現(xiàn)場數(shù)據(jù)的信息包括:所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)類型、所述現(xiàn)場數(shù)據(jù)對(duì)應(yīng)地址空間的起始地址、所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)長度以及所述嵌入式設(shè)備發(fā)生異常的類型;
將所述嵌入式設(shè)備的軟件版本對(duì)應(yīng)的符號(hào)表裝載到所述CPU模擬器中;
基于所述CPU模擬器上裝載的符號(hào)表和所述現(xiàn)場數(shù)據(jù)對(duì)所述嵌入式設(shè)備發(fā)生的異常進(jìn)行分析。
另一方面,本發(fā)明實(shí)施例提供的現(xiàn)場數(shù)據(jù)的保存裝置,包括;
中斷單元,用于當(dāng)嵌入式設(shè)備發(fā)生異常時(shí),觸發(fā)軟中斷;
讀寫單元,用于讀取所述嵌入式設(shè)備發(fā)生異常時(shí)的現(xiàn)場數(shù)據(jù),將所述現(xiàn)場數(shù)據(jù)保存到非易失性文件系統(tǒng)中,所述現(xiàn)場數(shù)據(jù)包括所述嵌入式設(shè)備的內(nèi)存中的數(shù)據(jù)、中央處理單元CPU的通用寄存器以及協(xié)處理器的寄存器中的數(shù)據(jù);
存儲(chǔ)單元,用于將所述現(xiàn)場數(shù)據(jù)的信息寫入異常數(shù)據(jù)描述文件中,將所述異常數(shù)據(jù)描述文件保存到所述非易失性文件系統(tǒng)中,所述現(xiàn)場數(shù)據(jù)的信息包括:所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)類型、所述現(xiàn)場數(shù)據(jù)對(duì)應(yīng)地址空間的起始地址、所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)長度以及所述嵌入式設(shè)備發(fā)生異常的類型。
另一方面,本發(fā)明實(shí)施例提供的現(xiàn)場數(shù)據(jù)的恢復(fù)裝置,包括:
現(xiàn)場數(shù)據(jù)裝載單元,用于根據(jù)異常數(shù)據(jù)描述文件將現(xiàn)場數(shù)據(jù)裝載到中央處理單元CPU模擬器上,其中,所述現(xiàn)場數(shù)據(jù)為嵌入式設(shè)備發(fā)生異常時(shí)保存的數(shù)據(jù),所述異常數(shù)據(jù)描述文件中寫入有現(xiàn)場數(shù)據(jù)的信息,所述現(xiàn)場數(shù)據(jù)的信息包括:所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)類型、所述現(xiàn)場數(shù)據(jù)對(duì)應(yīng)地址空間的起始地址、所述現(xiàn)場數(shù)據(jù)的數(shù)據(jù)長度以及所述嵌入式設(shè)備發(fā)生異常的類型;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于重慶重郵信科通信技術(shù)有限公司,未經(jīng)重慶重郵信科通信技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110455767.X/2.html,轉(zhuǎn)載請(qǐng)聲明來源鉆瓜專利網(wǎng)。
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F11-00 錯(cuò)誤檢測(cè);錯(cuò)誤校正;監(jiān)控
G06F11-07 .響應(yīng)錯(cuò)誤的產(chǎn)生,例如,容錯(cuò)
G06F11-22 .在準(zhǔn)備運(yùn)算或者在空閑時(shí)間期間內(nèi),通過測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 數(shù)據(jù)顯示系統(tǒng)、數(shù)據(jù)中繼設(shè)備、數(shù)據(jù)中繼方法、數(shù)據(jù)系統(tǒng)、接收設(shè)備和數(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è)備、數(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è)備、數(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)裝置
- 一種數(shù)據(jù)庫讀寫分離的方法和裝置
- 一種手機(jī)動(dòng)漫人物及背景創(chuàng)作方法
- 一種通訊綜合測(cè)試終端的測(cè)試方法
- 一種服裝用人體測(cè)量基準(zhǔn)點(diǎn)的獲取方法
- 系統(tǒng)升級(jí)方法及裝置
- 用于虛擬和接口方法調(diào)用的裝置和方法
- 線程狀態(tài)監(jiān)控方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- 一種JAVA智能卡及其虛擬機(jī)組件優(yōu)化方法
- 檢測(cè)程序中方法耗時(shí)的方法、裝置及存儲(chǔ)介質(zhì)
- 函數(shù)的執(zhí)行方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)





