zoukankan      html  css  js  c++  java
  • IDEA之debug学习

    IDEA之debug学习

    1、debug用处:
    • 采用Debug来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化

    • 通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。

    • 在开发中,一般会直接启动Debug模式,方便随时调试代码。

    2、

    image-20210323230914734

    debug上侧共8个按钮,从左到右依次如下

    • image-20210323224343103:如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行
    • image-20210323224455341步过,一行一行地往下走,如果这一行上有方法不会进入方法
    • image-20210323224609824步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
    • image-20210323224722032强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
    • image-20210323224805238步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
    • image-20210323225219071回退断点
    • image-20210323225329956运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
    • image-20210323232223741:计算表达式。

    debug右侧侧共6个按钮,从上到下依次如下

    • image-20210323225914642:重新运行程序,会关闭服务后重新启动程序
    • image-20210323230042510:恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。
    • image-20210323230200017:暂停程序,启用Debug。
    • image-20210323230311079:连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。
    • image-20210323230400662:查看所有断点。
    • image-20210323230524995:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled。
    3、变量查看
    • image-20210323231342538
    • 第一种: 在IDEA中,参数所在行后面会显示当前变量的值。

    • 第二种:光标悬停到参数上,显示当前变量信息。

    • 第三种:在Variables里查看,这里显示当前方法里的所有变量。

      img
    • 第四种:在Watches里,点击New Watch,输入需要查看的变量。或者可以从Variables里拖到Watche里查看。

    4、计算表达式
    • 这个表达式不仅可以是一般变量或参数,也可以是方法,当你的一行代码中调用了几个方法时,就可以通过这种方式查看查看某个方法的返回值。

    • 设置变量(也可查看),在计算表达式的框里,可以改变变量的值,这样有时候就能很方便我们去调试各种值的情况

      image-20210331190148361
    5、断点回退
    • 所谓的断点回退,其实就是回退到上一个方法调用的开始处,在IDEA里测试无法一行一行地回退或回到到上一个断点处,而是回到上一个方法。

    • 回退的方式有两种,一种是Drop Frame按钮,按调用的方法逐步回退,包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法

      image-20210331191913048
  • 相关阅读:
    Android之vector代码修改颜色
    一个关于native sql的程序
    webdynpro 下拉列表控件
    webdynpro tree控件使用
    webdynpro MESSGAE
    webdynpro的select_option示例
    一个简单的webdynpro的ALV示例
    ALV前导零的问题
    自动流水号
    OO的ALV隐藏工具栏的form
  • 原文地址:https://www.cnblogs.com/yyb6/p/14603351.html
Copyright © 2011-2022 走看看