IDEA断点调试 Java程序断点调试
文章目录
- IDEA断点调试 Java程序断点调试
- 前言
- 一、什么情况下需要debug
- 二、使用idea如何进行debug
- 三、假设案例分别进行debug教程
- 1.案例一:查看运行时对象的值
- 2.案例二:程序异常查看原因
- 总结
- 解释
前言
前面写过一篇关于如何使用Eclipse进行断点调试的文章,很简短,这篇文章主要教大家如何使用IntelliJ IDEA编辑器进行断点调试,以及为什么要断点调试。
一、什么情况下需要debug
程序发生异常或未达到预期执行效果时,不能准确的判断错误原因时,需要程序开发者进行程序的跟踪调试。
当接手一段别人的代码,不太懂其运行时的原理机制时,也是需要进行断点调试的;网上很多讲原理的视频几乎都是先打断点然后运行程序,使之跟着自己的节奏一步步运行。
二、使用idea如何进行debug
- 首先在代码行的左侧单点击鼠标左键出现红色圆圈,并且当前行被标记为红色后,证明改刚已被打上断点。
- 点击左上方像虫子一样的按钮以断点方式运行,程序会以debug的方式运行,当执行到断点标记时会停下来等待工程师进行运行控制。
- 跟据自己需要进行程序的跟踪,下表给出了其基本用法。
调试图标及含义
图标 | 解释 |
断点标记 | |
debug方式运行 | |
执行下一行1(F8) | |
进入方法内部2(F7) | |
进入方法内部3(Alt+Shift+F7) | |
跳出方法4(Shift+F8) | |
跳转到光标所在行(Alt+F9) | |
计算表达式(Alt+F8) | |
放行(F9) |
三、假设案例分别进行debug教程
1.案例一:查看运行时对象的值
任务:找到高德API返回的JSON内容
选择代码行进行断点并运行
使用快捷键F7或者点击对应按钮进入方法内部。
可以看到已经进入到该方法的内部,下方会显示变量的内容,使用快捷键F8或者按钮执行到下一行。或者将鼠标指针指向要跳转的行,然后使用快捷键Alt+F9或者点击按钮执行到当前鼠标指针所在向行。
当前进行请求地址的拼接,使用快捷键F8或者点击按钮执行到下一行。
在右下方可以看到变量jsonStr的值。这样json的内容就被找到了,如果没有什么问题,可以使用快捷键F9或点击按钮使程序正常运行。
2.案例二:程序异常查看原因
任务:找到程序异常错误原因
当前程序报空指针异常,但是根据提示进入第74行代码又没有头绪,下面又说验签异常,可以推测可能是这部分代码出了问题,需要断点进行查看问题原因。
首先在该行上面打断点,并以debug方式运行程序,程序启动后使用快捷键F7进入方法内部。
可以看到程序第69行是进行配置的方法,我们将鼠标指针选中69行,使用快捷键Alt+F9跳转到当前行。
这时,使用快捷键F7进入方法内部,会有两个方法供选择,我们选择第二个方法,用鼠标点击进入
进入方法后,逐行来看变量的值是否正确。使用快捷键F8到下一行。
当运行到这里的时候,发现没有值,与预想结果不一致;发现原因后,这时去看下为什么值没有被取到。经查看是配置文件中没有写明。
配置好值后,再运行程序(debug方式正常方式都可以)正常运行,异常问题解决。
总结
简单说明了下idea断点调试的方法,往往许多程序发生异常需要耐心的进行调试,并且注意看变量的值,而不是快速的下一行下一行程序执行完也没找到错误。
文章如有错误的地方请大家指出联系我做更正。
希望此片文章能帮助到您!
解释
- 程序向下执行一行,如果当前行有方法调用,则方法被执行,完毕后返回,然后到下一行。 ↩︎
- 程序向下执行一行,如果该行有方法调用(自定义方法),则运行进入自定义方法。 ↩︎
- 能够进入所有的方法,如JDK自己的方法。 ↩︎
- 跳出该方法(该方法会执行完毕),返回到该方法被调用处的下一行语句。 ↩︎