首先以debug模式启动tomcat,并文件中设断点,然后运行,当程序走到断点处就会转到debug视图下

[1]快捷键(F8)直接执行程序。
[2]快捷键(F5)单步执行程序,遇到方法时进入。
[3]快捷键(F6)单步执行程序,遇到方法时跳过。
[4]快捷键(F7)单步执行程序,从当前方法跳出。
=====================================

1.Step Into (also F5) 跳入
2.Step Over (also F6) 跳过
3.Step Return (also F7) 执行完当前method,然后return跳出此method
4.step Filter 逐步过滤
一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step
Filtering)
5.resume 重新开始执行debug,一直运行直到遇到breakpoint
6.hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit
count)
7.inspect 检查 运算。执行一个表达式显示执行值
8.watch 实时地监视变量的变化
9.我们常说的断点(breakpoints)是指line breakpoints,除了line
breakpoints,还有其他的断点类型:field(watchpoint)breakpoint,method
breakpoint,exception breakpoint.
10.field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂
11.添加method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)
12.添加Exception breakpoint 捕抓到Execption时暂挂(待续...)

断点属性:
1.hit count 执行多少次数后暂挂 用于循环
2.enable condition 遇到符合你输入条件(为ture\改变时)就暂挂
3.suspend thread 多线程时暂挂此线程
4.suspend VM 暂挂虚拟机
13.variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change
value.一次来进行快速调试。
14.debug
过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点

===========================
例如你有如下程序:
public static void main(String args[]) {

MyDate aa = new MyDate();
aa.addDays(day); =============》(1)
System.out.println("eeeeeeeeeeeeeee");=============》(2)
}

public String addDays(int more_days) {
System.out.println("1"); =============》(3)
String result = ""; =============》(4)
System.out.println("2"); =============》(5)
return result;
}

你在(1)处加断点,运行到此处时如果Step Into (also F5)为跳入,则接着执行到(3)。再执行Step Over
(also F6)执行本行,则执行到(4)。最后执行Step Return (also
F7),则跳出addDays方法,跳到(2)。

简单的说下调试的快捷键:

  1 F5 :下一步,可以进入下一个函数栈

  2 F6 :当前函数的下一步,不会进入其他的函数。

  3 F8 :下一个断点。

  4 也可以通过选中一个变量或者表达式,按ctrl+shift+i 来查看内容。或者添加监视 的方式,查看。

  5 可以通过快捷键F2 ,来查看一个函数方法的javadoc,即说明

  6 快捷键F3 或者ctrl+鼠标点击 ,进入一个函数

  7 ctrl+shift+G 查看当前方法都有谁在使用

  8 F4 查看类的继承关系,可以向上显示出类继承的父类以及接口。

  有了调试的方法,接下来,就是如何阅读源码了!

05-11 17:24