IDEA断点调试 Java程序断点调试


文章目录

  • IDEA断点调试 Java程序断点调试
  • 前言
  • 一、什么情况下需要debug
  • 二、使用idea如何进行debug
  • 三、假设案例分别进行debug教程
  • 1.案例一:查看运行时对象的值
  • 2.案例二:程序异常查看原因
  • 总结
  • 解释



前言

    前面写过一篇关于如何使用Eclipse进行断点调试的文章,很简短,这篇文章主要教大家如何使用IntelliJ IDEA编辑器进行断点调试,以及为什么要断点调试。

一、什么情况下需要debug

    程序发生异常或未达到预期执行效果时,不能准确的判断错误原因时,需要程序开发者进行程序的跟踪调试。
    当接手一段别人的代码,不太懂其运行时的原理机制时,也是需要进行断点调试的;网上很多讲原理的视频几乎都是先打断点然后运行程序,使之跟着自己的节奏一步步运行。


二、使用idea如何进行debug

debug java 跳到下一个断点 java如何设置断点debug_快捷键

  1. 首先在代码行的左侧单点击鼠标左键出现红色圆圈,并且当前行被标记为红色后,证明改刚已被打上断点。
  2. 点击左上方像虫子一样的按钮以断点方式运行,程序会以debug的方式运行,当执行到断点标记时会停下来等待工程师进行运行控制。
  3. 跟据自己需要进行程序的跟踪,下表给出了其基本用法。

调试图标及含义

图标

解释

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_02

断点标记

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_03

debug方式运行

debug java 跳到下一个断点 java如何设置断点debug_断点调试_04

执行下一行1(F8)

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_05

进入方法内部2(F7)

debug java 跳到下一个断点 java如何设置断点debug_intellij idea_06

进入方法内部3(Alt+Shift+F7)

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_07

跳出方法4(Shift+F8)

debug java 跳到下一个断点 java如何设置断点debug_断点调试_08

跳转到光标所在行(Alt+F9)

debug java 跳到下一个断点 java如何设置断点debug_intellij idea_09

计算表达式(Alt+F8)

debug java 跳到下一个断点 java如何设置断点debug_快捷键_10

放行(F9)


三、假设案例分别进行debug教程

1.案例一:查看运行时对象的值

任务:找到高德API返回的JSON内容

debug java 跳到下一个断点 java如何设置断点debug_快捷键_11


选择代码行进行断点并运行

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_12


使用快捷键F7或者点击对应按钮进入方法内部。

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_13

    可以看到已经进入到该方法的内部,下方会显示变量的内容,使用快捷键F8或者按钮执行到下一行。或者将鼠标指针指向要跳转的行,然后使用快捷键Alt+F9或者点击按钮执行到当前鼠标指针所在向行。

debug java 跳到下一个断点 java如何设置断点debug_快捷键_14


当前进行请求地址的拼接,使用快捷键F8或者点击按钮执行到下一行。

debug java 跳到下一个断点 java如何设置断点debug_java_15


在右下方可以看到变量jsonStr的值。这样json的内容就被找到了,如果没有什么问题,可以使用快捷键F9或点击按钮使程序正常运行。

2.案例二:程序异常查看原因

任务:找到程序异常错误原因

debug java 跳到下一个断点 java如何设置断点debug_intellij idea_16


debug java 跳到下一个断点 java如何设置断点debug_intellij idea_17

当前程序报空指针异常,但是根据提示进入第74行代码又没有头绪,下面又说验签异常,可以推测可能是这部分代码出了问题,需要断点进行查看问题原因。

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_18


首先在该行上面打断点,并以debug方式运行程序,程序启动后使用快捷键F7进入方法内部。

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_19


可以看到程序第69行是进行配置的方法,我们将鼠标指针选中69行,使用快捷键Alt+F9跳转到当前行。

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_20


这时,使用快捷键F7进入方法内部,会有两个方法供选择,我们选择第二个方法,用鼠标点击进入

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_21


debug java 跳到下一个断点 java如何设置断点debug_java_22


进入方法后,逐行来看变量的值是否正确。使用快捷键F8到下一行。

debug java 跳到下一个断点 java如何设置断点debug_java_23


当运行到这里的时候,发现没有值,与预想结果不一致;发现原因后,这时去看下为什么值没有被取到。经查看是配置文件中没有写明。

debug java 跳到下一个断点 java如何设置断点debug_java_24


配置好值后,再运行程序(debug方式正常方式都可以)正常运行,异常问题解决。

debug java 跳到下一个断点 java如何设置断点debug_debug java 跳到下一个断点_25


总结

    简单说明了下idea断点调试的方法,往往许多程序发生异常需要耐心的进行调试,并且注意看变量的值,而不是快速的下一行下一行程序执行完也没找到错误。
    文章如有错误的地方请大家指出联系我做更正。
    希望此片文章能帮助到您!


解释


  1. 程序向下执行一行,如果当前行有方法调用,则方法被执行,完毕后返回,然后到下一行。 ↩︎
  2. 程序向下执行一行,如果该行有方法调用(自定义方法),则运行进入自定义方法。 ↩︎
  3. 能够进入所有的方法,如JDK自己的方法。 ↩︎
  4. 跳出该方法(该方法会执行完毕),返回到该方法被调用处的下一行语句。 ↩︎