[發明專利]一種多斷點的軟件調試裝置和方法有效
| 申請號: | 201410010606.3 | 申請日: | 2014-01-09 |
| 公開(公告)號: | CN104778116B | 公開(公告)日: | 2018-09-18 |
| 發明(設計)人: | 郝宇;安康;王志忠 | 申請(專利權)人: | 深圳市中興微電子技術有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F9/30 |
| 代理公司: | 北京派特恩知識產權代理有限公司 11270 | 代理人: | 張穎玲;張振偉 |
| 地址: | 518085 廣*** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 斷點 軟件 調試 裝置 方法 | ||
1.一種多斷點的軟件調試裝置,其特征在于,該軟件調試裝置包括:驅動器、微處理器、指令存儲器和微碼集成開發環境IDE;其中,
所述驅動器,用于獲取軟件程序中的斷點信息,將所述斷點信息發送給指令存儲器,并根據指令存儲器中的斷點信息將斷點處的真實指令替換成斷點指令,在上報中斷給IDE后,根據IDE下發的命令將所述斷點指令換回真實指令,觸發微處理器解凍流水線,并在斷點指令執行的間隙將斷點處的真實指令再次替換成斷點指令,其中,所述斷點信息包括斷點位置地址;
所述微處理器,用于當執行到斷點指令時,通過驅動器上報中斷給IDE,凍結流水線,并根據驅動器的觸發解凍流水線,對斷點處的真實指令進行取指;
所述指令存儲器,用于存儲斷點指令和斷點信息;
所述IDE,用于為用戶提供下發命令的交互界面。
2.根據權利要求1所述的軟件調試裝置,其特征在于,所述斷點指令為原地跳轉指令;所述斷點指令執行的間隙為斷點指令在原地執行跳轉的任意兩次的間隙。
3.根據權利要求2所述的軟件調試裝置,其特征在于,所述驅動器,還用于將來自所述IDE的命令解析成具體的寄存器或存儲器讀寫信號通過總線發送給所述微處理器和/或指令存儲器。
4.根據權利要求3所述的軟件調試裝置,其特征在于,所述驅動器,還用于將斷點位置和斷點處的真實指令存儲到IDE所在的上位機。
5.根據權利要求4所述的軟件調試裝置,其特征在于,所述微處理器包括:流水線和調試模塊;其中,
所述流水線,用于當執行到斷點指令時,解析發現當前指令為斷點指令后向所述調試模塊發送通知,并在解凍后對斷點處的真實指令進行取指;
所述調試模塊,用于當接收到來自所述流水線的通知后,凍結流水線,上報中斷給驅動器,并根據驅動器的觸發解凍流水線。
6.根據權利要求5所述的軟件調試裝置,其特征在于,所述調試模塊,具體用于當接收到來自所述流水線的通知后,產生停止信號來凍結流水線。
7.一種多斷點的軟件調試方法,其特征在于,該軟件調試方法包括:
微碼集成開發環境IDE在軟件程序中設置斷點;
驅動器獲取軟件程序中的斷點信息,根據所述斷點信息將斷點處的真實指令替換成斷點指令;
當執行到所述斷點指令時,微處理器上報中斷給IDE,并凍結流水線,其中,所述斷點信息包括斷點位置地址;
驅動器根據IDE下發的命令將所述斷點指令換回真實指令;
微處理器解凍流水線,對斷點處的真實指令進行取指;
驅動器在斷點指令執行的間隙將斷點處的真實指令再次替換成斷點指令。
8.根據權利要求7所述的軟件調試方法,其特征在于,該軟件調試方法還包括:驅動器將斷點位置和斷點處的真實指令存儲到IDE所在的上位機。
9.根據權利要求7所述的軟件調試方法,其特征在于,所述驅動器根據IDE下發的命令將所述斷點指令換回真實指令,微處理器解凍流水線,對斷點處的真實指令進行取指,驅動器在斷點指令執行的間隙將斷點處的真實指令再次替換成斷點指令為:驅動器根據IDE下發的單步操作命令或繼續操作命令,將所述斷點指令換回真實指令,在換回真實指令時,微處理器解凍流水線,對斷點處的真實指令進行取指,在對所述真實指令取指完成后,在任意兩次執行斷點指令的間隙將斷點處的真實指令再次替換成斷點指令。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于深圳市中興微電子技術有限公司,未經深圳市中興微電子技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201410010606.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種Java卡空閑塊管理方法
- 下一篇:分析應用響應性能的方法、裝置和終端





