[發明專利]一種多斷點的軟件調試裝置和方法有效
| 申請號: | 201410010606.3 | 申請日: | 2014-01-09 |
| 公開(公告)號: | CN104778116B | 公開(公告)日: | 2018-09-18 |
| 發明(設計)人: | 郝宇;安康;王志忠 | 申請(專利權)人: | 深圳市中興微電子技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/30 |
| 代理公司: | 北京派特恩知識產權代理有限公司 11270 | 代理人: | 張穎玲;張振偉 |
| 地址: | 518085 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 斷點 軟件 調試 裝置 方法 | ||
本發明公開了一種多斷點的軟件調試裝置和方法,該軟件調試裝置包括:驅動器、微處理器、指令存儲器和微碼集成開發環境(IDE);上述軟件調試裝置通過在軟件程序中設置斷點,獲取斷點信息,將斷點處的指令替換成斷點指令,在執行到斷點指令時,上報中斷、凍結流水線,根據IDE下發的命令將所述斷點指令換回真實指令,解凍流水線,對斷點處的真實指令進行取指,在斷點指令執行的間隙將斷點處的真實指令再次替換成斷點指令的方法來實現多斷點的軟件調試。
技術領域
本發明涉及軟件調試技術,尤其涉及一種多斷點的軟件調試裝置和方法。
背景技術
微處理器調試技術廣泛地應用于軟件故障定位、軟件代碼分析以及逆向工程領域,對微處理器的設計和使用有至關重要的作用。
對微處理器的軟件進行調試一般包括以下兩個方面的內容:在軟件程序中設置斷點,使程序執行到所設置的斷點位置時產生中斷并停止執行;用戶可以對程序執行單步操作或使之擺脫中斷狀態繼續往下執行。
從上述內容可以看出,斷點技術是微處理器的軟件調試中不可或缺并有決定性作用的技術。當前的斷點技術主要分為兩種:
第一種,硬件斷點的方案。這種技術采用若干個斷點寄存器來存儲斷點位置的指針,在微處理器執行指令時,根據配置不斷將所執行指令的指針與斷點寄存器中的斷點指針進行對比,當發生匹配時,產生中斷并凍結微處理器的流水線跳入特定程序段進行處理。這種硬件斷點的顯而易見的缺點就是,由于斷點寄存器的數量限制,硬件斷點只能實現數量有限的幾個斷點,在調試過程中會有很多的限制。
第二種,軟件多斷點方案。這技術當前使用非常廣泛,一般做法是將微處理器執行的指令存儲器中的斷點位置的指令替換成斷點指令,并將斷點處的真實指令備份到另一個存儲器中,當微處理器執行到斷點位置時,處理器流水線解析斷點位置處的指令,獲知該斷點位置處的指令為斷點指令后產生中斷,并凍結流水線跳入指定程序段進行處理,在產生中斷后使用高級語言來解析該斷點處的真實指令,利用PC++來使程序跳入斷點后一條指令開始執行。上述軟件多斷點調試技術需要對斷點位置的真實指令進行備份,在替換回真實指令時需要高級語言來解析斷點處的真實指令,如此,實現該方案需要消耗大量額外的存儲空間來存儲備份斷點處的真實指令,還需要替換流水線中指令,實現困難。
發明內容
為解決現有存在的問題,本發明實施例主要提供一種多斷點的軟件調試裝置和方法,簡單易行的實現了多斷點的軟件調試,同時節省了單板上的存儲資源。
本發明的技術方案是這樣實現的:
本發明提供了一種多斷點的軟件調試裝置,該軟件調試裝置包括:驅動器、微處理器、指令存儲器和微碼集成開發環境IDE;其中,
所述驅動器,用于獲取軟件程序中的斷點信息,將所述斷點信息發送給指令存儲器,并根據指令存儲器中的斷點信息將斷點處的真實指令替換成斷點指令,在上報中斷給IDE后,根據IDE下發的命令將所述斷點指令換回真實指令,觸發微處理器解凍流水線,并在斷點指令執行的間隙將斷點處的真實指令再次替換成斷點指令;
所述微處理器,用于當執行到斷點指令時,通過驅動器上報中斷給IDE,凍結流水線,并根據驅動器的觸發解凍流水線,對斷點處的真實指令進行取指;
所述指令存儲器,用于存儲斷點指令和斷點信息;
所述IDE,用于為用戶提供下發命令的交互界面。
上述方案中,所述斷點信息包括斷點位置地址;所述斷點指令為原地跳轉指令;所述斷點指令執行的間隙為斷點指令在原地執行跳轉的任意兩次的間隙。
上述方案中,所述驅動器,還用于將來自所述IDE的命令解析成具體的寄存器或存儲器讀寫信號通過總線發送給所述微處理器和/或指令存儲器。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市中興微電子技術有限公司,未經深圳市中興微電子技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410010606.3/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種Java卡空閑塊管理方法
- 下一篇:分析應用響應性能的方法、裝置和終端





