1、直接dubug到想要到达的位置,直接点击旁边的数字即可。
2、debug后不想重新启动,想重新进入再执行一次debug,可以使用drop frame来删除当前栈,跳到之前的栈再一次进入这个栈。
- 注意这个是以栈为单位,即一个个方法来来回滚的,因此只能跳到上一个方法。
3、条件断点,右击两次断点红点,输入断点执行的等式就可以在满足条件的时候才进入该断点。
4、固定表达式追踪,可以点击加号添加想要跟踪的固定表达是,这样我们就不需要每次都打开对象去check对象内想知道的值。
5、断点开关,可以选择暂时不进入的断点,方便调试。
6、动态修改形参的值,通过evaluate expression来动态临时修改形参的值来进行变量修改,满足我们特定变量的调试。
7、多线程调试,选择suspend为Thread就可以让当前线程断点到改位置。
8、源码debug调试,右击两次源码的断点进行源码位置代码的输出,辅助调试。
- 注意双亲委派的模式下,优先加载JDK包下的源码,再加载本工程代码,再加载第三方如框架包。
- 因此使用在本工程下创建第三方jar包路径下的代码类可以覆盖第三方类的加载。
- 但是对于JDK源码则做不到,因为JDK源码是第一顺位加载的,只能在debug的时候加上这种调试输出。
参考
极海大佬的dubug分享
07-26 11:24