<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Eclipse的開(kāi)發(fā)環(huán)境中調試器設計與實(shí)現

基于Eclipse的開(kāi)發(fā)環(huán)境中調試器設計與實(shí)現

作者: 時(shí)間:2009-05-22 來(lái)源:網(wǎng)絡(luò ) 收藏

斷點(diǎn)管理器(IBreakpoint Manager)是在工作空間中的斷點(diǎn)集合。當斷點(diǎn)創(chuàng )建時(shí),會(huì )在管理器中注冊。當斷點(diǎn)被刪除,它也會(huì )在管理器中移除,當斷點(diǎn)添加,移除,以及斷點(diǎn)屬性改變時(shí),提供更改通知??蛻?hù)端需要IBreakpointsListener以及在斷點(diǎn)管理器中注冊。例如:調試目標偵聽(tīng)更改通知,因此當它們改變時(shí),可以安裝、移除、更新斷點(diǎn)信息??蛻?hù)端也需要IBreak-pointManaagerListener,以便當斷點(diǎn)管理器被使能或禁止時(shí)的通知偵聽(tīng),也可以允許所有的斷點(diǎn)被暫時(shí)禁止,而不用改變單個(gè)斷點(diǎn)的狀態(tài)。
當建立了調試目標之后,應該搜索斷點(diǎn)管理器,查找存在的斷點(diǎn),并安裝這些斷點(diǎn)。調試目標應該在其生命周期中偵聽(tīng)斷點(diǎn)的添加、移除、改變等信息,并且能夠更新這些信息。
在編輯器中顯示了斷點(diǎn)和觀(guān)察點(diǎn)的位置。編輯器在豎直條中顯示標記,當標記改變時(shí)更新。繼承AbstractDecoratedTextEditor的編輯器會(huì )有一個(gè)豎直標記條,用于顯示和正在編輯的文件有關(guān)的標記。在豎直標記條中雙擊,可能會(huì )產(chǎn)生多于一種的操作,可以設置行斷點(diǎn)或者設置觀(guān)察點(diǎn)。在編輯器豎直標記條中添加雙擊動(dòng)作,可以應用工作臺擴展點(diǎn)來(lái)添加編輯器操作。參考AbstractRulerActionDelegate給期望的工作添加操作,可通過(guò)擴展點(diǎn)editorActions予以添加。斷點(diǎn)的模型如圖3所示。

本文引用地址:http://dyxdggzs.com/article/152476.htm

2.2 命令處理
命令處理包括單步進(jìn)入、單步跳過(guò)、返回、懸掛、恢復、下載、運行、繼續運行、終止等。平臺提供標準模式的命令處理的實(shí)現。
所有的命令處理需要實(shí)現接口IDeblugCom-mandHandler,并且實(shí)現如下函數:
canExecute(IEnabledStateRequest request)
execute(IDebugCommandRequest request)
標準模式可以重載平臺的實(shí)現,定制模式需要自己提供一個(gè)實(shí)現,包括提供作為適配器的處理類(lèi),可以直接實(shí)現處理接口。
平臺所定義的處理者進(jìn)程為如下幾個(gè):
IDisconnectHandler
IDroDToFrameHandler
IResumeHandler
IStepFiltersHandler
IStepIntoHandler
IStepOvetHandler
IStepReturnHandler
ISuspendHandler
ITerminateHandler
處理者和命令處理之間的交互是異步的。需要先更新使能狀態(tài),然后開(kāi)始執行。傳遞到命令處理的是一個(gè)IRequest對象,實(shí)現接收狀態(tài),允許取消,當請求結束時(shí)通知等功能。
命令執行的過(guò)程如圖4所示。

平臺提供的命令處理應用JOB來(lái)實(shí)現異步交互。命令處理為每一個(gè)請求和返回維護一個(gè)JOB的進(jìn)度表,并且JOB是異步運行的。
2.3 視圖內容
利用平臺提供的tree視圖的實(shí)現變量、寄存器的查看,并用內容提供者和標簽提供者來(lái)支持定制異步內容。這個(gè)tree視圖的實(shí)現JFace的tree視圖,并實(shí)現了接口ILazyTreePathContentProvider。這個(gè)視圖不能被繼承,但是可以被初始化。
一些調試視圖定義了很多列。像變量視圖,寄存器視圖,都分別有名字列,值列等。調試模型提供要顯示的列,以及元編輯器對某一個(gè)值進(jìn)行編輯,還為每一個(gè)列提供標簽。視圖、列、元編輯器之間的關(guān)系如圖5所示。列表述定義了要顯示的列,包括列頭、列圖像、列標識。允許提供多個(gè)列,在初始化時(shí)顯示其中的幾列,用戶(hù)可以選擇顯示哪些列。

塵埃粒子計數器相關(guān)文章:塵埃粒子計數器原理


評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>