基于Eclipse的開發環境中調試器設計與實現
元編輯器允許用戶在線編輯。為每一個元素和列提供元編輯器,應用JFace的CellEditor進行編輯,提供了對文本選擇框、組合框的標準編輯。為每一個元素提供元修改器,決定哪一個列可以被修改,在修改之后更新相應的值,可以用實現接口IcellModifier來達到目標。
2.4 內存視圖
內存視圖顯示一段內存中的內容。內存顯示由內存塊、內存塊內容重新獲取、內存塊管理器、內存塊描述類型、內存塊描述、內存塊描述綁定、內存塊描述管理器等幾部分組成。
讀取并顯示內存塊的過程如下:用戶啟動內存查看命令,從當前調試上下文中,平臺獲取適配器IMetm-ryBlockRetrieval,平臺為內存塊請求內存塊描述適配器,內存塊添加到內存塊管理器中,平臺查找內存描述類型列表,找到和內存塊符合的內存描述,然后創建它,將內存描述添加到內存視圖中。
用擴展點memoryRenderings>來擴展內存描述類型。描述類型包含描述名字,描述惟一的標識符這兩個信息。實現接口IMemoryRenderingTypeDelegate中的函數為:
需要在描述之間提供同步機制來使得用戶不用手工進行同步。在此提供同步服務器,以解決當前顯示描述之間的同步問題。當某一個描述內容改變后,會發送一個描述改變的事件,同步服務器接收到這個事件,同步服務器通知對這個事件感興趣的描述,然后其他描述接收這個事件并進行響應,其過程如圖6所示。
內存描述綁定定義可以應用于某種類型中內存塊的內存描述??梢杂脭U展點memoryRenderings進行創建。其內容如下:
最終的內存視圖如圖7所示。
3 結 語
作為大型項目的一個部分,在分析CDT調試機制的基礎上,設計并實現一個適用于嵌入式軟件集成開發環境的調試器,具備斷點設置、單步執行、源代碼搜索以及變量、內存和寄存器查看等常用調試功能。
評論