java调试一
Eclipse 平台的特色在于内置了 Java 调试器,该调试器提供所有标准调试功能,包括进行单步执行、设置断点和值、检查变量和值以及暂挂和恢复线程的能力。Eclipse 平台工作台(Eclipse Platform Workbench)及其工具是基于 Java开发工具(JDT)组件所构建的。Eclipse 还有一个特别的 Debug 视图,允许您在工作台中管理程序的调试和运行。它为调试中的每个目标显示其暂挂线程的堆栈帧。程序中的各个线程以作为树的节点出现,而 Debug 视图则显示运行中的各目标的进程。如果暂挂一个线程,则其堆栈帧显示为子元素。如果您要开发和调试 C/C++ 项目,您还需要得到并安装C/C++ 开发工具(C/C++ Development Tool,CDT)。
图 1. Eclipse Debug 视图用户界面的常规视图
resume F8 跳到下一断点。
step into F5 一步步执行,若一行步骤中有其它方法,则进入执行。
step over F6 一步步执行,若一行步骤中有其它方法,则不进入执行。
step return F7 执行完当前method,然后return跳出此method
图 2. 设置断点
最常见的调试过程就是设置断点,以允许检查在条件语句和循环中的变量和值.
图 3. 条件断点
当type为update时候,会在138行的断点处停下。
当type为add时候,不会在138行的断点处停下。
断点的属性界面及各个选项的意思如下图
图 4. 方法断点
方法断点就是将断点打在方法的入口处, 方法断点的特别之处在于它可以打在 JDK的源码里,由于 JDK 在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。
图 5. 异常断点
经常遇见一些异常,然后程序就退出来了,要找到异常发生的地方就比较难了,还好可以打一个异常断点,上图中我们增加了一个NullPointException的异常断点,当异常发生时,代码会停在异常发生处,定位问题时应该比较有帮助。