[發明專利]一種斷點調試方法和調試器有效
| 申請號: | 201110209571.2 | 申請日: | 2011-07-25 |
| 公開(公告)號: | CN102411534A | 公開(公告)日: | 2012-04-11 |
| 發明(設計)人: | 彭楚;王東輝;朱浩;洪纓;侯朝煥 | 申請(專利權)人: | 中國科學院聲學研究所 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京億騰知識產權代理事務所 11309 | 代理人: | 陳霽 |
| 地址: | 100190 *** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 斷點 調試 方法 | ||
技術領域
本發明涉及計算機軟件設計,尤其涉及一種斷點調試方法和調試器。
背景技術
調試器是處理器體系結構設計與軟硬件協同驗證中不可或缺的一部分。一方面,它在軟件層次上對目標處理器的體系結構進行建模來模擬其執行行為,另一方面,通過提供調試接口,接收用戶輸入的各種控制信息,實現對程序執行過程中的數據流、控制流的監測及修改。
調試器最基礎、最核心的功能之一是斷點功能,它可以讓程序中斷在需要的地方,從而方便其分析。斷點可以分為行斷點和條件斷點兩種,其中行斷點是一種特殊的條件斷點,而條件斷點通常是以邏輯表達式的形式呈現。
現有技術的調試器一般采用表達式計算來實現條件斷點的解析,而表達式計算一般采用如下兩種方案進行處理:
第一種方案:其于棧結構的表達式計算,以后綴表達式a+b*c>(d*e+f)*g為例,首先將后綴表達式利用棧操作生成中綴表達式abc*+de*f+g*>,按a,b,c*,+,d,e,*,f,+,g,*,>的順序依次壓棧,在壓棧過程中,遇到有效操作符的時候,按照操作符所需要操作數的個數,從棧中彈出相應個數,計算后將結果再次壓入棧中。例如,當壓入操作符*的時候,需要將操作數c和b依次彈出棧,并計算b*c后將結果再壓入到棧中。具體過程如圖1所示。
第二種方案:基于語義二叉樹結構的表達式計算,按字符的優先級組織成二叉樹結構,計算時應用深度優先搜索算法從二叉樹的底層從左至右,從下至上依次進行計算。以第一種方案中的后綴表達式為例,處理的二叉樹結構如圖2所示。
現有技術上述兩種方案存在的缺點是只能處理有限的固定模式,應用面窄,當通過調試接口輸入大量斷點信息時,繁瑣的表達式計算會嚴重影響調試器的執行效率,嚴重影響調試器性能。
發明內容
本發明的目的是提供一種處理模式靈活的斷點調試方法和調試器,來解決條件斷點中繁瑣的表達式計算問題,從而大大提高了調試器的執行效率。
為實現上述目的,本發明提供了一種斷點調試方法,其特征在于包括以下步驟:
接收調試中的條件斷點;解析所述條件斷點,獲得斷點信息;將所述斷點信息中條件斷點生成決策圖;選擇將所述決策圖分析生成有序二叉決策圖或展開為語義二叉樹;將所述有序二叉決策圖展開為語義二叉樹,并將節點信息映射到相應的優化代碼片段;將所述代碼片段注入到進程空間,進行斷點信息判斷。
本發明還提供了一種調試器,其特征在于包括:
接收單元,用于接收調試中的條件斷點;解析單元,用于解析條件斷點,獲得斷點信息;生成單元,用于將斷點信息組織生成決策圖;展開單元,用于將決策圖展開為語義二叉樹,或者用于分析所述決策圖并生成有序二叉決策圖,將有序二叉決策圖展開成語義二叉樹;映射單元,用于將語義二叉樹的節點信息歸納并映射到相應的優化代碼片段;注入單元,用于將代碼片段注入到進程空間。
本發明實施例的斷點調試方法和調試器,能夠解決了在調試器處理繁瑣的條件斷點表達式時所遇到的執行效率低下問題,從而大幅提升調試器的執行效率。
附圖說明
圖1為現有技術的基于棧結構的表達式計算算法;
圖2為現有技術的基于語義二叉樹結構的表達式計算算法;
圖3為本發明一實施例的斷點調試方法流程圖;
圖4為本發明一實施例的調試器示意結構圖;
圖5為本發明一實施例的決策圖;
圖6為根據圖5簡化后的決策圖;
圖7為根據圖6簡化后最終的有序二叉決策圖;
圖8為根據圖7形成的判斷流程圖;
圖9為本發明一實施例的語義二叉樹;
圖10示意性示出了一種斷點調試方法的處理系統。
具體實施方式
下面通過附圖和實施例,對本發明的技術方案做進一步的詳細描述。
圖3為本發明一實施例的斷點調試方法流程圖。
在步驟301,接收調試中的條件斷點。
調試器在調試中接收來自用戶設置的條件斷點,包括用戶設置的全局條件斷點。
在步驟302,解析所述條件斷點,獲得其中的斷點信息。
調試器對在調試過程中接收到條件斷點進行解析,獲得條件斷點中的斷點信息包括:操作符、變量對應的進程地址和立即數。
在步驟303,將所述斷點信息組織并生成決策圖。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國科學院聲學研究所,未經中國科學院聲學研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201110209571.2/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種光路割接的方法
- 下一篇:一種電源轉換器及差分電路





