今天看了一段代码,怎么也没看懂,就想知道程序到底是怎么一步一步运行的,后来找到了一种有效的方法——断点调试。
后来终于搞清楚过程了,哈哈。
1、在Eclipse Java 编辑区的行头双击就会得到一个断点,代码会运行到此处时停止。
2、然后运行。如下:
3、点击yes。
4、点击下图第一个按钮进行单步调试。
5、最后就可以在这两个地方看调试结果啦。
下面是从网上找来的一些资料的整理补充:
1、 条件断点
在断点处点击鼠标右键,选择最后一个"Breakpoint Properties"。断点的属性界面及各个选项的意思如下图:
2、 变量断点
断点不仅能打在语句上,变量也可以接受断点,
上图就是一个变量的打的断点,在变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的。
3、 方法断点
方法断点就是将断点打在方法的入口处,
方法断点的特别之处在于它可以打在 JDK的源码里,由于 JDK 在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈。
4、 改变变量值
代码停在了断点处,但是传过来的值不正确,如何修改一下变量值保证代码继续走正确的流程,或是说有一个异常分支老是进不去,能不能调试时改一下条件,看一下异常分支代码是否正确?
在Debug 视图的 Variables 小窗口中,我们可以看到 mDestJarName 变量的值为 " F:\Study\eclipsepro\JarDir\jarHelp.jar "
我们可以在变量上右键,选择"Change Value..." 在弹出的对话框中修改变量的值,
或是在下面的值查看窗口中修改,保用Ctr+S 保存后,变量值就会变成修改后的新值了。
![点击图片可在新窗口打开](http://java.chinaitlab.com/UploadFiles_8734/201108/20110823145015502.jpg)
5、 重新调试
这种调试的回退不是万能的,只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处。
回退时,请在需要回退的线程方法上点右键,选择 "Drop to Frame"