首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 家电技术 > 维修教程知识 > 单片机栏
基于Eclipse的开发环境中调试器设计与实现
来源:本站整理  作者:佚名  2009-05-22 09:17:50




    断点管理器(IBreakpoint Manager)是在工作空间中的断点集合。当断点创建时,会在管理器中注册。当断点被删除,它也会在管理器中移除,当断点添加,移除,以及断点属性改变时,提供更改通知。客户端需要实现IBreakpointsListener以及在断点管理器中注册。例如:调试目标侦听更改通知,因此当它们改变时,可以安装、移除、更新断点信息。客户端也需要实现IBreak-pointManaagerListener,以便实现当断点管理器被使能或禁止时的通知侦听,也可以允许所有的断点被暂时禁止,而不用改变单个断点的状态。
    当建立了调试目标之后,应该搜索断点管理器,查找存在的断点,并安装这些断点。调试目标应该在其生命周期中侦听断点的添加、移除、改变等信息,并且能够更新这些信息。
    在编辑器中显示了断点和观察点的位置。编辑器在竖直条中显示标记,当标记改变时更新。继承AbstractDecoratedTextEditor的编辑器会有一个竖直标记条,用于显示和正在编辑的文件有关的标记。在竖直标记条中双击,可能会产生多于一种的操作,可以设置行断点或者设置观察点。在编辑器竖直标记条中添加双击动作,可以应用工作台扩展点来添加编辑器操作。参考AbstractRulerActionDelegate给期望的工作添加操作,可通过扩展点editorActions予以添加。断点的模型如图3所示。

2.2 命令处理
    命令处理包括单步进入、单步跳过、返回、悬挂、恢复、下载、运行、继续运行、终止等。平台提供标准模式的命令处理的实现。
    所有的命令处理需要实现接口IDeblugCom-mandHandler,并且实现如下函数:
    canExecute(IEnabledStateRequest request)
    execute(IDebugCommandRequest request)
    标准模式可以重载平台的实现,定制模式需要自己提供一个实现,包括提供作为适配器的处理类,可以直接实现处理接口。
    平台所定义的处理者进程为如下几个:
    IDisconnectHandler
    IDroDToFrameHandler
    IResumeHandler
    IStepFiltersHandler
    IStepIntoHandler
    IStepOvetHandler
    IStepReturnHandler
    ISuspendHandler
    ITerminateHandler
    处理者和命令处理之间的交互是异步的。需要先更新使能状态,然后开始执行。传递到命令处理的是一个IRequest对象,实现接收状态,允许取消,当请求结束时通知等功能。
    命令执行的过程如图4所示。

    平台提供的命令处理应用JOB来实现异步交互。命令处理为每一个请求和返回维护一个JOB的进度表,并且JOB是异步运行的。
2.3 视图内容
    利用平台提供的tree视图的实现变量、寄存器的查看,并用内容提供者和标签提供者来支持定制异步内容。这个tree视图的实现基于JFace的tree视图,并实现了接口ILazyTreePathContentProvider。这个视图不能被继承,但是可以被初始化。
    一些调试视图定义了很多列。像变量视图,寄存器视图,都分别有名字列,值列等。调试模型提供要显示的列,以及元编辑器对某一个值进行编辑,还为每一个列提供标签。视图、列、元编辑器之间的关系如图5所示。列表述定义了要显示的列,包括列头、列图像、列标识。允许提供多个列,在初始化时显示其中的几列,用户可以选择显示哪些列。

上一页  [1] [2] [3] 

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)

推荐阅读

图文阅读

热门阅读

Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:180,500.00000 毫秒