InteIIIJ IDEA的Debug技巧

IDEA的Debug调试技巧

  • 1、实战IDEA调试技巧
    • 1.1单步跟踪
    • 1.2断点管理
    • 1.3求值表达式
    • 1.4堆栈和线程
    • 1.5变量观察

1、实战IDEA调试技巧

IDEA的Debug调试面板分为五个部分:
![](https://img-blog.csdnimg.cn/20200409092707308.jpg?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQyMDM4NTY1,size_16,color_FFFFFF,t_70#pic_center)

1.1单步跟踪

  • 快速定位到当前调试器正在执行的代码行:show Execution Point
  • 单步命令,每一次执行一行代码,如果该行有方法会直接跳过:step over
  • step over会跳过方法的执行,如果要进入方法里边,需要用:step in,但是step in会跳过jdk自带的系统方法,如果要跟踪系统方法的执行细节,需要用:force step in
  • 关于单步执行忽略哪些系统方法可以在Settings ->Build,Execution,Deployment->Debugger-Stepping中进行配置
  • 如果发现不想继续调试方法,可以直接把这个方法执行完,回到方法调用的下一行:step out
  • 如果要回到调用方法的地方,重新再次调试该方法:drop to frame
  • 直接使用该命令执行到某行:run to cursor/ force run to cursor

1.2断点管理

可以将断点分成两种类型:行断点指是在特定的某行代码上暂停下来,而全局断点是在某个条件满足时停下来,并不限停在固定的某一行,譬如出现异常时暂停程序。

  • 行断点
    suspend(All/Thread)
    condition
    1.remove once hit
    2.instance filters:用于当断点处代码所出的实例和设定ID匹配则断下来
    3.class filters
    4.pass count:是在断点执行到第几次的时候暂停下来
  • 全局断点
    1.Exception breakpoints
    2.method breakpoints
    3.field watchpoints

1.3求值表达式

  • 表达式模式
  • 代码片段模式

1.4堆栈和线程

一个视图可以查看当前所有线程(线程视图),一个视图可以查看当前的函数堆栈(堆栈视图)

1.5变量观察

你可能感兴趣的:(IDEA)