基本操作
断点,breakpoint:
F5键与F6键均为单步调试:
F5是step into,也就是进入本行代码中执行,跳入
F6是step over,跳过,也就是执行本行代码,跳到下一行
F7是跳出函数 step return,执行完当前method,然后return跳出此method
F8是执行到最后
step Filter 逐步过滤 一直执行直到遇到未经过滤的位置或断点(设置Filter:window-preferences-java-Debug-step Filtering)
resume 重新开始执行debug,一直运行直到遇到breakpoint
hit count 设置执行次数 适合程序中的for循环(设置 breakpoint view-右键hit count)
inspect 检查 运算。执行一个表达式显示执行值
watch 实时地监视变量的变化
常说的断点(breakpoints)是指line breakpoints,除了line breakpoints,还有其他的断点类型:
- field(watchpoint)breakpoint
- method breakpoint
- exception breakpoint
field breakpoint 也叫watchpoint(监视点) 当成员变量被读取或修改时暂挂
method breakpoint 进入/离开此方法时暂挂(Run-method breakpoint)
Exception breakpoint 捕抓到Execption时暂挂(待续...)
断点属性:(断点,右键,Breakpoint Properties)
hit count 执行多少次数后暂挂 用于循环
enable condition 遇到符合你输入条件(为ture\改变时)就暂挂
suspend thread 多线程时暂挂此线程
suspend VM 暂挂虚拟机
variables 视图里的变量可以改变变量值,在variables 视图选择变量点击右键--change value.一次来进行快速调试
debug过程中修改了某些code后--〉save&build-->resume-->重新暂挂于断点
变量断点
变量的值初始化,或是变量值改变时可以停止,当然变量断点上也是可以加条件的,和上面的介绍的条件断点的设置是一样的
方法断点
将断点打在方法的入口处,方法断点的特别之处在于它可以打在 JDK的源码里,由于 JDK 在编译时去掉了调试信息,所以普通断点是不能打到里面的,但是方法断点却可以,可以通过这种方法查看方法的调用栈
改变变量值
Debug视图的 Variables 小窗口中Change Value,可以修改变量的值,使得变量可以满足条件的继续debug
重新调试
只能在当前线程的栈帧中回退,也就说最多只能退回到当前线程的调用的开始处,回退时,请在需要回退的线程方法上点右键,选择 "Drop to Frame"
异常断点(标示:J!)
找到异常发生的地方
Expressions
过添加表达式 Expressions 来查看各变量的值,点击右边 “X+Y=?”(Add a new watch expression) 符号
goto远程调试
reference 1
reference 2
2015/10/15 20:25:26