如何使用IDEA断点调试(debug), 用图文并茂的方式来教你

简介: 如何使用IDEA断点调试(debug), 用图文并茂的方式来教你

一、为什么要使用debug

断点调试是程序员必须掌握的技能,它可以帮助我们查看java源代码的执行过程,提高我们的java编程水平。


二、使用方法

1、逐行代码查看

快捷键:F8

image.png

在自己需要的地方设置断点,如果要逐行查看代码是如何执行的,就可以使用F8;

比如在写算法题时,就可以用此方法逐行查看代码,分析算法执行的每一步!并且idea还提供了强大的显示功能,可以看清每一步后参数的具体值。


2、数组越界

image.png

依然使用F8快捷键,逐行查看代码,就会发现,当 i = 3 时,就会在Variables区出现java.lang.IndexOutOfBoundsException : Invalid array range: 3 to 3的错误提示,非常的人性化!


3、方法进入、出去

image.png

首先,大家可以看到,我想对这个数组排序,使用JDK自带的方法。断点停留在第14行,此时,我想看源代码。注意的是:从自己写的代码就如源代码,需要使用强制进入方法按钮(Alt + shift + F7),也就是图片中红色箭头, 进入源代码后如下图所示:

image.png

我们又可以看到,进入源代码后,代码中又含有一个方法,这个时候我想要进去看该方法怎么办呢?答案很简单:使用快捷键F7(绿色向下箭头),或者Alt + shift + F7这样就可以进入另一个方法中的源代码了。需要区别的是:F7 和 Alt + shift + F7虽然都可以进入方法,但是Alt + shift + F7 更加的 “暴力” ,它不仅可以进入自己写的方法,还可以进入JDK中的源代码;而F7只能进入自己写的方法。再次进入源代码如图所示:

image.png

咱们又可以发现,里面再一次出现了一个方法,处理步骤都是一样的,大家可以根据自己的需求来决定是否要进入该方法。那么问题来了,我们进入了方法,该怎么出去呢?是要结束debug吗?其实不是的,我们只需要用快捷键shift + F8(图中的绿色向上箭头)就可以跳出方法了,多按几次就可以回到自己写的代码界面了!是不是很爽呢?


4、动态下断点image.png


假如自己不想看代码第8行,而是想看代码第13行的结果,怎么办呢?也是非常简单的:只需要使用快捷键F9(图中的绿色向右箭头),就可以直接跳到自己想要执行的代码语句。如果在debug过程中,自己还想增加新的断点,idea编译器也是允许的,只需要添加新的想要执行的代码就可以了,并且还可以通过Console来查看控制台输出的结果,是不是很方便呢!


总结

IDEA的断点调试真的非常的方便,使用方法也是非常的简单易上手。掌握断点调试的最快路径就是多练习,一段时间以后,就可以玩的差不多了。



相关文章
|
5月前
|
Java
Idea在debug时打上断点没有用 Skipped breakpoint at ... because it happened inside debugger evaluation
Idea在debug时打上断点没有用 Skipped breakpoint at ... because it happened inside debugger evaluation
300 0
|
26天前
IDEA远程调试Remote Debug
IDEA远程调试Remote Debug
13 0
|
3月前
|
监控 应用服务中间件
idea debug模式启动Tomcat报错:Error running ‘tomcat8‘: java.net.SocketException “socket closed“
idea debug模式启动Tomcat报错:Error running ‘tomcat8‘: java.net.SocketException “socket closed“
|
4月前
|
前端开发 JavaScript
idea 对JavaScript进行debug调试
idea 对JavaScript进行debug调试
|
5月前
|
Java 开发者 Spring
debugのidea篇
debugのidea篇
20 0
|
5月前
Intellij IDEA 中的 Debug 控制台输出窗口消失
Intellij IDEA 中的 Debug 控制台输出窗口消失
idea中的代码简单调试debug
idea中的代码简单调试debug
|
IDE 前端开发 数据可视化
保命小诀窍:IDEA远程Debug技巧,你了解吗?
前言 昨天看到一个问题,“疫情结束后你最想吃什么?” 仔细想了一下,火锅?烤肉? 看了一下体重秤,怕是只能报个健身房了。 你以为你胖N斤的时间复杂度是O(2^N), 事实上它是O(1),嗖嗖的.
|
Java 程序员 Android开发
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(上)
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(上)
熟练使用IDEA的断点调试(Breakpoint),大大提升你调试代码的效率(行断点、属性断点、异常断点、条件断点、远程debug...)【享学Java】(上)
|
Java 应用服务中间件 内存技术
IDEA远程debug实现原理
在 Debug 领域,JDK 有一套规范与体系来支持,即 Java Platform Debugger Architecture,JPDA 体系。在 JPDA 体系中定义了 三个角色,每个角色又对应着不同的技术模块支撑,分别为 JVMTI/JDWP/JDI。
IDEA远程debug实现原理