• 意向不到的Dubug妙招


    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分享

  • 相关阅读:
    Qt中的事件处理
    单调栈-503. 下一个更大元素 II
    你还不知道零基础如何入门网络安全(黑客)吗?
    R语言教程课后习题答案(持续更新中~~)
    R语言基操
    leetcode25 K个一组反转链表
    动态数组写模板类
    对抗生成网络GANP52-
    内核移植学习
    网页端IM即时通讯开发:短轮询、长轮询、SSE、WebSocket
  • 原文地址:https://www.cnblogs.com/castamere/p/16519235.html