Eclipse Debug调试详解

版权声明:未经允许,不得转载 https://blog.csdn.net/cincoutcin/article/details/85007689

目录

 

一、debug透视图:

1、进入方式:​右上角点击添加框,选择“臭虫”,再点击小虫。

2、debug调试下的一些常用一些透视图,如果没有自行添加,windows--->show view--->others--->选择相应的透视图,这些视图后面调试时都会用到,没有的按上面的操作添加。

3、视图简介:(稍微看看就好,重点结合后面的调试过程上手调试,然后观察每个透视图窗口的内容)

4、debug调试功能键详解(debug调试中最重要的几个功能键,一定记住的快捷键:F5/F6/F7/F8),可以先只看F5/F6/F7/F8,其余的结合后面的调试过程细致看,上手调试就很容易理解了。

5、数据查看:(该部分建议结合接下来的debug过程结合来看,不然看了也白看,前两个用的比较多一点,前提时调试经过变量所在行,然后快捷键才有效,具体调试的时候查看数据可以在Variables透视图里去查看,调试经过的行所涉及的变量均显示在该视图中)。

 

二、断点类型(括号中为使用频率):

1、行断点:(100%)

扫描二维码关注公众号,回复: 5353705 查看本文章

2、方法断点:(70%)

3、观察断点(70%):

4、异常断点(50%):

5、类断点(10%):实际项目中根本就不用,类加载不完全,项目启动不起来,还怎么debug.

三、debug过程:

(我这里的调试时一个Java Web的项目,简单的java应用程序调试参看后面文章)

1、设置断点:

打断点:(快捷键:光标定位某一行,ctrl+shift+b)这里设置了三类断点

[ps:忽略所有断点:(快捷键:Ctrl+Alt+b)]

2、启动tomcat 开始debug调试:

3、post请求:

4、逐步调试:

四、相关快捷键:(提升开发及debug效率,建议读者可以记下)


一、debug透视图:

1、进入方式:右上角点击添加框,选择“臭虫”,再点击小虫。

2、debug调试下的一些常用一些透视图,如果没有自行添加,windows--->show view--->others--->选择相应的透视图,这些视图后面调试时都会用到,没有的按上面的操作添加

3、视图简介:(稍微看看就好,重点结合后面的调试过程上手调试,然后观察每个透视图窗口的内容

4、debug调试功能键详解(debug调试中最重要的几个功能键,一定记住的快捷键:F5/F6/F7/F8),可以先只看F5/F6/F7/F8,其余的结合后面的调试过程细致看,上手调试就很容易理解了

5、数据查看:(该部分建议结合接下来的debug过程结合来看,不然看了也白看,前两个用的比较多一点,前提时调试经过变量所在行,然后快捷键才有效,具体调试的时候查看数据可以在Variables透视图里去查看,调试经过的行所涉及的变量均显示在该视图中)。

 

二、断点类型(括号中为使用频率):

1、行断点:(100%)

在方法中的某一行上打断点,行断点可以设置挂起线程/VM的条件,访问次数。 
对于命中次数(hit count)的使用,一般是在循环中,第N个对象的处理有问题,设置hit count = N, 重调试时,可以方便到达需要调试的循环次数时,停下来调试。

2、方法断点:(70%)

在方法上打断点,方法断点的好处是可以从方法方法进入或者退出时,停下来调试,类似行断点,而且只有行断点和方法断点有条件和访问次数的设置功能。但是方法断点还有另外一个好处,如果代码编译时,指定不携带调试信息,行断点是不起作用的,只能打方法断点。 
有兴趣的可以通过window--preferences---java---compilerAdd line number… 前的勾去掉, 调试下看看。

3、观察断点(70%):

在成员变量上打的断点。只有实例成员变量有效果,类成员变量不起作用。

可以设置变量被访问或者设置的时候挂起线程/VM ,也就所有对成员变量的访问或者设置的方法都会被监控到 。

4、异常断点(50%):

异常断点可以通过Breakpoints透视图的添加,或者点击日志信息中输出的异常类信息添加。 
异常断点,系统发生异常时,在被捕获异常的抛出位置处或者程序未捕获的异常抛出处, 挂起线程/VM, 也可以指定是否包括异常的子类也被检测。 
另外除了以上正常设置的异常挂起,从java->debug中可以设置挂起执行,主要有下面两个:

1、是否在发生全局未捕获时挂起(suspend execution on uncaught exceptions),调试时,老是有异常挂起影响调试,但是没有设置异常断点的情况,就可以勾选掉这个选项;eclipse默认是勾选这个的。

2、是否在编译错误时挂起,一般在边调试边改代码时会发生这种情况;

5、类断点(10%):实际项目中根本就不用,类加载不完全,项目启动不起来,还怎么debug.

在类名上打的断点。接口上是打不了类加载断点的,但是抽象类是可以的,只是在调试的时候,断点不会明显进入classloader中,单步进入只会进入到子类的构造方法中,非抽象类在挂起线程后单步进入就会到classloader中(如果没有filter过滤掉的话)。类加载断点不管是打在抽象或者非抽象类上,都会在类第一次加载或者第一个子类第一次被加载时,挂起线程/VM。
 

三、debug过程:

(我这里的调试时一个Java Web的项目,简单的java应用程序调试参看后面文章)

1、设置断点:

打断点:(快捷键:光标定位某一行,ctrl+shift+b)这里设置了三类断点

[ps:忽略所有断点:(快捷键:Ctrl+Alt+b)]

2、启动tomcat 开始debug调试:

3、post请求:

4、逐步调试:

四、相关快捷键:(提升开发及debug效率,建议读者可以记下

1、代码编辑窗口
功能 快捷键 说明
quick type hierarchy ctrl+t     查看当前类、接口的继承层次, 默认进入时,显示继承/实现当前类/方法的子类,子接口;再次ctrl+t,将显示当前类、接口继承/实现的超类/接口;调试时,经常用该功能,在接口或抽象类的方法调用处,ctrl+t察看实现类,直接导航到对应的实现方法中。
quick outline ctrl+o 查看当前类的大纲,包括方法,属性等内容; 用处不大;
open declarations F3 查看变量、属性、方法定义的地方
2、Call Hierarchy窗口
功能 快捷键

说明

open call hierarchy ctrl+alt+h 查看方法被调用层次, 可以看当前方法被调用的地方,或者当前方法调用了其他类的方法
3、Type Hierarchy窗口
功能 快捷键 说明
open type hierarchy F4 查看继承层次, 可以查看类的继承层次,包括子类父类, 或者类实现的接口继承层次,还会根据选择的类/接口,在右边显示该类的大纲; 可以选择是否显示父类/父接口的属性、方法等
4、Search 窗口
功能 快捷键 说明
declarations ctrl+g 相同的方法签名在工作空间中及第三方jar包中被定义的位置
references ctrl+shif+g 当前选中的变量、属性、方法在工作空间中及第三方jar包中被引用的位置
  ctrl+shift+u 查看变量、属性 、方法在当前类中出现的地方

参考博文:

https://blog.csdn.net/u010075335/article/details/51222493

猜你喜欢

转载自blog.csdn.net/cincoutcin/article/details/85007689