Eclipse中Debug调试的及视图.doc
文本预览下载声明
Eclipse 调试器和 Debug 视图
编者注:Pawel Leszek 最初于 2003 年 5 月撰写了下文,后来由 Chris Aniszczyk 于 2007 年 4 月进行了更新。
Eclipse SDK 是针对 Java? 开发工具(Java? Development Tools,JDT)的项目,它具有一个内置的 Java 调试器,可以提供所有标准的调试功能,包括分步执行、设置断点和值、检查变量和值、挂起和恢复线程的功能。除此之外,还可以调试远程机器上运行的应用程序。Eclipse 平台很健壮,因为其他编程语言可以将该平台提供的调试工具用于各自的语言运行时。正如下文所示,同一个 Eclipse Debug 视图也可以用于 C/C++ 编程语言。
Eclipse 平台工作台及其工具是围绕 JDT 组件构建的,该组件为 Eclipse 提供了下列特性:
项目管理工具
透视图和视图
构造器、编辑器、搜索和构建功能
调试器
Eclipse 调试器本身是 Eclipse 内的一个标准插件集。Eclipse 还有一个特殊的 Debug 视图,用于在工作台中管理程序的调试或运行。它可以显示每个调试目标中挂起线程的堆栈框架。程序中的每个线程都显示为树中的一个节点,Debug 视图显示了每个运行目标的进程。如果某个线程处于挂起状态,其堆栈框架显示为子元素。
在使用 Eclipse 调试器之前,假定您已经安装了合适的 Java SDK/JRE(我推荐使用 Java VM V1.4)和 Eclipse Platform SDK V3.3,而且两者的运行都没问题。一般来说,先用 Eclipse 示例测试一下调试选项比较好。如果想开发和调试 C/C++ 项目,还需要获得并安装 C/C++ 开发工具(C/C++ Development Tools,CDT)。关于 Java SDK/JRE、Eclipse 平台和示例以及 CDT,请参阅 参考资源。 图 1 显示了 Debug 透视图的一般视图。
图 1. Eclipse Debug 透视图的一般视图
调试 Java 语言程序
在可以调试项目前,需要干净地编译和运行代码。首先,需要为应用程序创建一个运行配置,确保应用程序可以正确启动。然后,需要通过 Run Debug 菜单以类似的方式设置调试配置。还需要选择一个类,将它作为调试的主 Java 类来使用(请参见图 2)。您可以按照自己的意愿为单个项目设置多个调试配置。当调试器启动时(从 Run Debug),会在一个新的窗口中打开,这时就可以开始调试了。
图 2. 在调试配置中设置项目的主 Java 类
接下来,将讨论 Eclipse 中的一些常用调试实践。
设置断点
在启动应用程序进行调试时,Eclipse 会自动切换到 Debug 透视图。毫无疑问,最常见的调试步骤是设置断点,这样可以检查条件语句或循环内的变量和值。要在 Java 透视图的 Package Explorer 视图中设置断点,双击选择的源代码文件,在一个编辑器中打开它。遍历代码,将鼠标放在可疑代码一行的标记栏(在编辑器区域的左侧)上,双击即可设置断点。
图 3. 编辑器左侧看到的两个断点
现在,从 Run Debug 菜单启动调试会话。最好不要将多条语句放在一行上,因为会无法单步执行,也不能为同一行上的多条语句设置行断点。
图 4. 视图中左侧空白处的箭头指示当前正在执行的行
还有一个方便的断点视图来管理所有的断点。
图 5. 断点视图
条件断点
一旦了解到错误发生的位置,您可能想要知道在程序崩溃之前,程序在做什么。一种方法就是单步执行程序的每行语句。一次执行一行,直到运行到可疑的那行代码。有时,最好只运行一段代码,在可疑代码处停止运行,在这个位置检查数据。还可以声明条件断点,它在表达式值发生变化时触发(请参见图 6)。除此之外,在输入条件表达式时,也可以使用代码帮助。
图 6. 设置条件断点触发器
计算表达式的值
为了在 Debug 透视图的编辑器中计算表达式的值,选择设置了断点的那行代码,在上下文菜单中,通过 Ctrl+Shift+I 或右键单击您感兴趣的变量(参见图 7)选择 Inspect 选项。在当前堆栈框架的上下文中会计算表达式的值,在 Display 窗口的 Expressions 视图中会显示结果。
图 7. 通过 Inspect 选项计算表达式的值
剪切活动代码
Display 视图允许您以剪切类型的方式处理活动代码(参见图 8)。要处理一个变量,在 Display 视图中输入变量名即可,视图会提示您一个熟悉的内容助手。
图 8. Display 视图
当调试器停止在一个断点处时,您可以从
显示全部