[發(fā)明專(zhuān)利]一種硬單步系統(tǒng)中內(nèi)存讀寫(xiě)監(jiān)控方法有效
| 申請(qǐng)?zhí)枺?/td> | 201310247232.2 | 申請(qǐng)日: | 2013-06-20 |
| 公開(kāi)(公告)號(hào): | CN104239200B | 公開(kāi)(公告)日: | 2018-10-30 |
| 發(fā)明(設(shè)計(jì))人: | 汪革;茍利平;王仁雷;肖新峰 | 申請(qǐng)(專(zhuān)利權(quán))人: | 上海博達(dá)數(shù)據(jù)通信有限公司 |
| 主分類(lèi)號(hào): | G06F11/36 | 分類(lèi)號(hào): | G06F11/36 |
| 代理公司: | 上海天翔知識(shí)產(chǎn)權(quán)代理有限公司 31224 | 代理人: | 劉粉寶 |
| 地址: | 201203 上海市浦*** | 國(guó)省代碼: | 上海;31 |
| 權(quán)利要求書(shū): | 查看更多 | 說(shuō)明書(shū): | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 硬單步 系統(tǒng) 內(nèi)存 讀寫(xiě) 監(jiān)控 方法 | ||
本發(fā)明公開(kāi)了一種硬單步系統(tǒng)中內(nèi)存讀寫(xiě)監(jiān)控方法,本方法通過(guò)CPU的觀(guān)察點(diǎn)機(jī)制、硬單步機(jī)制及先進(jìn)的補(bǔ)丁技術(shù)實(shí)現(xiàn)了內(nèi)存監(jiān)控。本發(fā)明能夠有效解決現(xiàn)有內(nèi)存監(jiān)控機(jī)制所存在的問(wèn)題,且適用于多(單)任務(wù)嵌入式系統(tǒng)的在線(xiàn)調(diào)試。
技術(shù)領(lǐng)域
本發(fā)明涉及軟件系統(tǒng)技術(shù),具體涉及軟件系統(tǒng)中內(nèi)存監(jiān)控技術(shù)。
背景技術(shù)
現(xiàn)有的內(nèi)存監(jiān)控技術(shù)(比如著名的GDB)是通過(guò)觀(guān)察點(diǎn)機(jī)制,指定一個(gè)任務(wù)要監(jiān)控的內(nèi)存區(qū)間,當(dāng)檢測(cè)到該任務(wù)讀/寫(xiě)這段地址時(shí),該任務(wù)不會(huì)讀/寫(xiě)這段地址而是立刻進(jìn)入異常,等待用戶(hù)解析后刪除該觀(guān)察點(diǎn)任務(wù)才能繼續(xù)運(yùn)行。
這種方法對(duì)于調(diào)試單任務(wù)的系統(tǒng)是比較有效的,但存在以下幾個(gè)缺點(diǎn):
1.當(dāng)要檢測(cè)的內(nèi)存頻繁被讀/寫(xiě),而程序員只關(guān)心滿(mǎn)足一定規(guī)則的內(nèi)存操作時(shí),GDB并不能很好的定義及判斷所有規(guī)則,可能會(huì)使調(diào)試中的程序頻繁的進(jìn)入觀(guān)察點(diǎn)異常,很多時(shí)候程序員并不關(guān)心這些異常。
2.在多任務(wù)系統(tǒng)中,任務(wù)間可能存在復(fù)雜的關(guān)聯(lián),當(dāng)一個(gè)任務(wù)因?yàn)楸O(jiān)控內(nèi)存而進(jìn)入異常,可能會(huì)影響其他任務(wù)的運(yùn)行,從而影響整個(gè)系統(tǒng)的正常運(yùn)行,當(dāng)這種異常程序員不關(guān)心時(shí),程序員不得不重新啟動(dòng)系統(tǒng)調(diào)試。
綜上所述,內(nèi)存監(jiān)控技術(shù)所存在的這些缺點(diǎn)將會(huì)極大的影響多任務(wù)嵌入式系統(tǒng)軟件的調(diào)試進(jìn)度。
發(fā)明內(nèi)容
本發(fā)明針對(duì)現(xiàn)有內(nèi)存監(jiān)控技術(shù)所存在的問(wèn)題,而提供一種全新的硬單步系統(tǒng)中內(nèi)存讀寫(xiě)監(jiān)控方法。本發(fā)明通過(guò)CPU的觀(guān)察點(diǎn)機(jī)制、硬單步機(jī)制及先進(jìn)的補(bǔ)丁技術(shù)實(shí)現(xiàn)了全新的內(nèi)存監(jiān)控技術(shù),有效解決現(xiàn)有內(nèi)存監(jiān)控技術(shù)所存在的缺陷,并適用于多(單)任務(wù)嵌入式系統(tǒng)的在線(xiàn)調(diào)試。
為了達(dá)到上述目的,本發(fā)明采用如下的技術(shù)方案:
一種硬單步系統(tǒng)中內(nèi)存讀寫(xiě)監(jiān)控方法,該監(jiān)控方法包括如下步驟:
(1)操作系統(tǒng)初始化后,內(nèi)存讀寫(xiě)監(jiān)控前掛載觀(guān)察點(diǎn)異常處理函數(shù)、硬單步異常處理函數(shù)及任務(wù)切換鉤子函數(shù);
(2)設(shè)置要監(jiān)控的內(nèi)存區(qū)間,并設(shè)置內(nèi)存觀(guān)察點(diǎn)包含要監(jiān)控的內(nèi)存區(qū)間;
(3)系統(tǒng)正常運(yùn)行中,如果發(fā)生觀(guān)察點(diǎn)異常則跳到步驟(4)、如果發(fā)生硬單步異常則跳到步驟(13),如果發(fā)生任務(wù)切換則跳到步驟(12);
(4)系統(tǒng)讀寫(xiě)被監(jiān)控的內(nèi)存會(huì)產(chǎn)生觀(guān)察點(diǎn)異常,并自動(dòng)跳到觀(guān)察點(diǎn)異常處理函數(shù)進(jìn)行后續(xù)步驟處理;
(5)分析導(dǎo)致觀(guān)察點(diǎn)異常的指令得到內(nèi)存訪(fǎng)問(wèn)的各種參數(shù),包括異常地址、內(nèi)存訪(fǎng)問(wèn)的方式、地址、長(zhǎng)度、數(shù)值;
(6)匹配要監(jiān)控的內(nèi)存區(qū)間,如果不匹配則跳到步驟(11);
(7)匹配注冊(cè)規(guī)則及補(bǔ)丁規(guī)則,如果不匹配則跳到步驟(11);
(8)分析任務(wù)堆棧得到的任務(wù)調(diào)用關(guān)系,并記錄內(nèi)存訪(fǎng)問(wèn)信息;
(9)以當(dāng)前任務(wù)為索引在HASH表中記錄切換信息;
(10)清除觀(guān)察點(diǎn),設(shè)置硬單步;
(11)異常返回,跳到步驟(3)系統(tǒng)正常運(yùn)行;
(12)發(fā)生任務(wù)切換,且任務(wù)切換后新舊任務(wù)不一致,則先索引上個(gè)任務(wù)獲得切換信息,根據(jù)切換信息清除上個(gè)任務(wù)的硬單步并恢復(fù)觀(guān)察點(diǎn),再索引新任務(wù)獲得切換信息,根據(jù)切換信息設(shè)置新任務(wù)的觀(guān)察點(diǎn)及硬單步,處理完后跳到步驟(3)系統(tǒng)正常運(yùn)行;
(13)系統(tǒng)產(chǎn)生硬單步異常,并自動(dòng)跳到硬單步異常處理函數(shù)進(jìn)行后續(xù)步驟處理;
該專(zhuān)利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專(zhuān)利權(quán)人授權(quán)。該專(zhuān)利全部權(quán)利屬于上海博達(dá)數(shù)據(jù)通信有限公司,未經(jīng)上海博達(dá)數(shù)據(jù)通信有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買(mǎi)此專(zhuān)利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201310247232.2/2.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專(zhuān)利網(wǎng)。
- 上一篇:微處理器及其操作方法
- 下一篇:一次性寵物采血筆
- 同類(lèi)專(zhuān)利
- 專(zhuān)利分類(lèi)
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),通過(guò)測(cè)試作故障硬件的檢測(cè)或定位
G06F11-28 .借助于檢驗(yàn)標(biāo)準(zhǔn)程序或通過(guò)處理作錯(cuò)誤檢測(cè)、錯(cuò)誤校正或監(jiān)控
G06F11-30 .監(jiān)控
G06F11-36 .通過(guò)軟件的測(cè)試或調(diào)試防止錯(cuò)誤
- 一種單步執(zhí)行在片調(diào)試功能的方法及裝置
- 一種用于計(jì)算機(jī)硬件實(shí)驗(yàn)微處理器的嵌入式運(yùn)行控制邏輯
- 一種硬單步系統(tǒng)中內(nèi)存讀寫(xiě)監(jiān)控方法
- 一種軟單步系統(tǒng)中內(nèi)存讀寫(xiě)監(jiān)控方法
- 一種雙足機(jī)器人步行規(guī)劃和控制方法
- 一種行人單步隨機(jī)荷載生成方法及其應(yīng)用
- 一種走姿判斷方法及系統(tǒng)
- 一種古建筑單步梁與柱節(jié)點(diǎn)加固處理結(jié)構(gòu)
- 動(dòng)態(tài)同步測(cè)試方法、裝置、設(shè)備及存儲(chǔ)介質(zhì)
- 一種人行單步荷載模型構(gòu)建方法
- 光盤(pán)磁盤(pán)一體化數(shù)據(jù)讀寫(xiě)總成
- 一種智能卡讀寫(xiě)設(shè)備
- 數(shù)據(jù)總線(xiàn)寬度不相等的雙口RAM讀寫(xiě)與仲裁控制器
- 一種提高金屬表面射頻信號(hào)通訊能力的讀寫(xiě)卡器結(jié)構(gòu)
- 數(shù)據(jù)總線(xiàn)寬度不相等的雙口RAM讀寫(xiě)與仲裁控制器
- 文件讀寫(xiě)裝置及方法
- 數(shù)據(jù)讀寫(xiě)方法、讀寫(xiě)裝置和動(dòng)態(tài)隨機(jī)存儲(chǔ)器
- 一種適用于不同規(guī)格IC卡的讀寫(xiě)設(shè)備
- 數(shù)據(jù)讀寫(xiě)的方法、裝置和電子設(shè)備
- 一種RFID打印機(jī)的RFID標(biāo)簽讀寫(xiě)方法及系統(tǒng)





