2

意向不到的Dubug妙招 - 卡斯特梅的雨伞

 1 year ago
source link: https://www.cnblogs.com/castamere/p/16519235.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

1、直接dubug到想要到达的位置,直接点击旁边的数字即可。

image.png

2、debug后不想重新启动,想重新进入再执行一次debug,可以使用drop frame来删除当前栈,跳到之前的栈再一次进入这个栈。

  • 注意这个是以栈为单位,即一个个方法来来回滚的,因此只能跳到上一个方法。
image.png

3、条件断点,右击两次断点红点,输入断点执行的等式就可以在满足条件的时候才进入该断点。

image.png

4、固定表达式追踪,可以点击加号添加想要跟踪的固定表达是,这样我们就不需要每次都打开对象去check对象内想知道的值。

image.png
image.png

5、断点开关,可以选择暂时不进入的断点,方便调试。

image.png

6、动态修改形参的值,通过evaluate expression来动态临时修改形参的值来进行变量修改,满足我们特定变量的调试。

  • 注意在形参上修改才有效。
image.png
image.png
image.png

7、多线程调试,选择suspend为Thread就可以让当前线程断点到改位置。

image.png
image.png

8、源码debug调试,右击两次源码的断点进行源码位置代码的输出,辅助调试。

  • 注意双亲委派的模式下,优先加载JDK包下的源码,再加载本工程代码,再加载第三方如框架包。
  • 因此使用在本工程下创建第三方jar包路径下的代码类可以覆盖第三方类的加载。
  • 但是对于JDK源码则做不到,因为JDK源码是第一顺位加载的,只能在debug的时候加上这种调试输出。
image.png

极海大佬的dubug分享


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK