博客
关于我
IDEA 2019 debug 技巧
阅读量:400 次
发布时间:2019-03-05

本文共 1981 字,大约阅读时间需要 6 分钟。

IDEA 2019 debug技巧全解析

在日常开发中,调试是开发过程中不可或缺的一部分。IDEA 2019提供了强大的debug功能,能够帮助开发者快速定位问题并解决代码逻辑上的问题。本文将详细介绍IDEA 2019的debug界面及相关功能,提供实用的调试技巧,帮助开发者更高效地解决问题。


一、debug初识

在IDEA 2019中,debug界面主要由几个关键面板组成,分别是Debugger、Console、Show Execution Point等。以下是这些面板的基本功能:

  • Debugger:这是调试的核心面板,用于查看代码执行过程中的各种信息,包括断点、堆栈等。
  • Console:用于查看程序的标准输出和错误信息,常用来验证调试结果是否正确。
  • Show Execution Point:点击后会跳到当前调试的执行位置,方便快速定位问题所在。
  • Step Over/Step Into/Force Step Into/Step Out:这些步进控制器用于控制代码的执行流程,帮助开发者一步步跟踪代码执行路径。
  • Drop Frame:后悔药功能,允许重新运行当前方法,忽略之前的操作。
  • Run to Cursor:运行到光标位置,避免打断点的使用。
  • Evaluate Expression:临时计算表达式的值,帮助开发者快速验证数据。
  • Frames:显示代码执行过程中的堆栈信息,包括线程、调用链等重要信息。
  • View Breakpoints:管理断点,查看所有已设置的断点信息。
  • Settings:调试配置中心,允许开发者根据需求进行调整。

  • 二、调试技巧

    1. Frames详解

    **Frames(堆栈信息)**是调试过程中非常重要的工具,以下是Frames的详细使用方法:

    • 线程信息:Frames中最上面一行表示当前执行线程,其他线程信息可以通过展开查看。
    • 详情信息:每个线程的信息包括线程名称、线程ID、所属组以及执行状态。双击某一行可以查看详细的调用链信息。
    • 线程组:线程组用于组织和管理多个线程,方便统一管理和查看。
    • 调用链:通过调用链,可以追踪代码从入口点到当前执行位置的调用过程,了解代码执行的流程。
    • 技巧:双击Frames最上面一行可以快速回到当前断点位置。

    2. View Breakpoints

    View Breakpoints面板用于管理断点,常用的操作包括新增、删除、群组设置等。以下是断点的分类及其特点:

    • 行断点:打在代码行上,用于检测该行的执行。
    • 类断点:打在类名上,适用于检测类初始化时的问题。
    • 方法断点:打在方法定义处,用于检测方法的调用。
    • 字段断点:用于检测字段值的变化。
    • 异常断点:用于检测异常发生的位置。

    3. Settings

    通过IDEA的设置功能,可以对调试进行更深层次的配置。以下是一些常用的设置:

    • Show Values Inline:在代码右侧显示变量值,方便快速查看变量状态。
    • Show Method Return Values:显示方法返回值,帮助开发者验证方法的执行结果。
    • Unmute Breakpoints on Session Finish:调试结束后恢复断点的非静音状态。

    4. Layout Settings

    通过布局设置,可以自定义调试界面的显示方式。默认布局通常包括Frames、Breakpoints、Watches等面板。用户可以根据需求调整布局,或者恢复默认布局。


    三、实用调试技巧

  • Drop Frame

    在调试过程中,如果发现某一步骤的结果不符合预期,可以使用Drop Frame功能,重新运行当前方法,忽略之前的操作。这种方法非常适用于处理循环或递归结构中的问题。

  • 临时变量值修改

    在Variables面板中,可以通过右键操作设置变量值,快速验证代码执行过程中的数据变化。

  • 远程调试

    IDEA支持远程调试功能,适用于开发和测试环境分离的情况。需要在远程设备上启用调试权限,并确保代码与本地一致。

  • 断点条件设置

    在设置断点时,可以添加条件,使断点只在满足特定条件时生效。这种方式可以减少不必要的中断,提高调试效率。

  • 善用方法断点

    通过在方法定义处设置断点,开发者可以跟踪方法的调用链,分析代码执行路径。

  • 处理异常断点

    在发生异常时,通过设置异常断点可以快速定位异常发生的位置,分析错误原因。

  • 快速定位执行位置

    使用Run to Cursor功能,可以快速运行到光标位置,避免重复打断点。

  • 跳出方法

    在方法内部遇到问题时,可以使用Step Out功能,跳出当前方法,回到上一层调用处。


  • 通过以上调试技巧和功能的结合,开发者可以有效地定位代码执行中的问题,快速修复Bug,提升开发效率。IDEA的强大调试功能为开发者提供了便利,帮助开发者更好地理解代码执行过程,提升代码质量。

    转载地址:http://ogbzz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现k-Means算法(附完整源码)
    查看>>
    Objective-C实现k-nearest算法(附完整源码)
    查看>>
    Objective-C实现KadaneAlgo计算给定数组的最大连续子数组和算法(附完整源码)
    查看>>
    Objective-C实现kadanes卡达内斯算法(附完整源码)
    查看>>
    Objective-C实现kahns algorithm卡恩算法(附完整源码)
    查看>>
    Objective-C实现karatsuba大数相乘算法(附完整源码)
    查看>>
    Objective-C实现karger算法(附完整源码)
    查看>>
    Objective-C实现KMP搜索算法(附完整源码)
    查看>>
    Objective-C实现Knapsack problem背包问题算法(附完整源码)
    查看>>
    Objective-C实现knapsack背包问题算法(附完整源码)
    查看>>
    Objective-C实现knapsack背包问题算法(附完整源码)
    查看>>
    Objective-C实现knight tour骑士之旅算法(附完整源码)
    查看>>
    Objective-C实现knight Tour骑士之旅算法(附完整源码)
    查看>>
    Objective-C实现KNN算法(附完整源码)
    查看>>
    Objective-C实现KNN算法(附完整源码)
    查看>>
    Objective-C实现KNN算法(附完整源码)
    查看>>
    Objective-C实现knuth morris pratt(KMP)算法(附完整源码)
    查看>>
    Objective-C实现knuth-morris-pratt(KMP)算法(附完整源码)
    查看>>
    Objective-C实现Koch snowflake科赫雪花曲线算法(附完整源码)
    查看>>
    Objective-C实现koch snowflake科赫雪花算法(附完整源码)
    查看>>