[發明專利]調試系統及執行調試系統操作的方法有效
| 申請號: | 201210447912.4 | 申請日: | 2012-11-09 |
| 公開(公告)號: | CN103123603A | 公開(公告)日: | 2013-05-29 |
| 發明(設計)人: | 杰弗里·戴維·羅樂;肯尼思·艾德溫·普爾;戴文生;駱志安 | 申請(專利權)人: | 聯發科技(新加坡)私人有限公司 |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36 |
| 代理公司: | 北京萬慧達知識產權代理有限公司 11111 | 代理人: | 于淼;楊穎 |
| 地址: | 新加坡啟匯城*** | 國省代碼: | 新加坡;SG |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 調試 系統 執行 操作 方法 | ||
技術領域
本發明有關于軟件斷點處理領域,特別是有關于通過在特定條件下刪除指令替換(instruction?replacement)與執行來提高軟件斷點處理的性能。
背景技術
一些調試器(debugger),例如GNU計劃調試器(GNUProject?debugger,GDB),提供了當處理器停止時,決定如何處理斷點的選項。斷點可留在存儲器中或者從存儲器移除。假若斷點留在存儲器中,并且要求調試器讀取存儲器斷點存在的區域,則調試器在將此區域內容顯示給用戶前,以原始存儲器內容來遮蔽斷點。
本發明通過在特定條件下刪除指令替換與執行來提高處理特定種類斷點的速度及性能,相比于現有技術有了很大進步。
發明內容
有鑒于此,本發明提供新的調試系統及執行調試系統操作的方法。
根據本發明的一實施方式,提供一種調試系統,包含調試模塊。調試模塊接收包含至少一軟件斷點的應用,當目標系統遇到軟件斷點時,調試模塊開始處理軟件斷點,決定軟件斷點是否為選擇性軟件斷點,假若決定遇到選擇性軟件斷點,則刪除對所有其他剩余斷點的指令替換以及在遇到軟件斷點處的應用的原始指令的執行,或者刪除對所有其他剩余斷點的指令替換并且在遇到軟件斷點處重新安裝該選擇性軟件斷點。
根據本發明的另一實施方式,提供執行調試系統的操作的方法,包含:提供應用以執行;使用調試模塊來接收包含至少一軟件斷點的該應用,當目標系統遇軟件斷點時,調試模塊開始處理軟件斷點,決定軟件斷點是否為選擇性軟件斷點,假若決定遇到選擇性軟件斷點,則刪除對所有其他剩余斷點的指令替換以及在遇到選擇性軟件斷點處的應用的原始指令的執行,或者刪除對所有其他剩余斷點的指令替換并且在遇到選擇性軟件斷點處重新安裝該選擇性軟件斷點。
本發明所提出的調試系統及執行調試系統操作的方法,其通過在決定遇到選擇性軟件斷點時刪除指令替換來提高處理特定種類斷點的速度及性能。
附圖說明
圖1為依本發明一實施方式,顯示所使用的調試系統的示意圖。
圖2為顯示在執行所加載的應用期間,當發現NOP指令上的軟件斷點時,本發明的調試系統所執行步驟的處理流程圖。
圖3為顯示這執行所加載的應用期間,當遇到LWBP時,本發明的調試系統所執行步驟的處理流程圖。
具體實施方式
本發明提供一種基于斷點的個別屬性(individual?attribute),而不是影響所有斷點的總體選項(global?option)來處理特定軟件斷點的技術方法。特別地,本發明依靠兩種軟件斷點應用的特定場景來確定如何繼續進行以及如何處理指令集(instruction?set)中剩余的斷點。上述指令集為所提供的待處理指令集。調試器基于遇到哪一個斷點場景來決定如何繼續進行對所加載的應用中其他剩余斷點的處理。
圖1為依本發明一實施方式,所使用的調試系統2的示意圖。調試系統2包括主機4。主機4包含由用戶控制的計算器,一般為具有處理器、處理器存儲器、硬盤儲存器(hard?disk?storage)、以及其他外圍裝置(peripheral?device)的個人計算器。主機4使用其處理器以及處理器存儲器來完成耦接于調試接口10的調試器8。調試器8與調試接口10可視為運行在調試模塊中。調試器8為運行于主機4上的軟件應用,用于控制目標系統6,并且顯示信息來允許用戶診斷并且分析待運行于目標系統6上的應用代碼。調試接口10為目標系統6與運行于主機4上的調試器8之間的接口模塊。
目標系統6執行包括軟件斷點的所加載的應用。軟件斷點為一種特別指令,當執行軟件斷點時會使得處理器進入調試模式,調試模式中調試器8具有控制權。一般地,通過保留應用的原始指令,并且將其替換為特別的斷點指令來設置軟件斷點。調試器還支持自動斷點。自動斷點是基于所加載的應用中預定義標記(predefined?label)的存在而被自動設置的斷點。
假若存在特定的定義標記,則調試器8或者調試接口10在這些位置自動設置斷點,而無需用戶明確地進行設置。當發現自動或者條件性的(conditional)軟件斷點(即選擇性軟件斷點)時,調試器8或者調試接口10基于地址、屬性、以及可能來源于處理器自身的數據來評估特定條件,并且無需與用戶的交互動作就決定處理器是否應該保持停止狀態還是自動返回運行狀態。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于聯發科技(新加坡)私人有限公司,未經聯發科技(新加坡)私人有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210447912.4/2.html,轉載請聲明來源鉆瓜專利網。





