IDEA的debug调试功能

本文详细介绍了IDEA的调试功能,包括设置断点观察变量变化、线程调试、条件断点的使用,以及如何修改变量值。通过实例展示了如何在debug模式下跟踪代码执行流程,帮助开发者高效定位和解决问题。此外,还提到了一些高级功能,如选择线程调试和使用快捷键控制程序执行。
摘要由CSDN通过智能技术生成

Idea的debug调试可以说是非常强大,只有你想不到,没有它做不到。Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。一般我们常用于程序排错或者源码追踪。

先从一个简单的例子开始

 可以看到我们的代码很简单,就是从1加到100,这个时候如果我们要看到sum的变化的,可以在第九行打个断点来看。

程序启动一定要以debug来启动,如果选择第一个,打的断点讲不会起作用哦。

运行程序,我们发现程序走到这个地方就停了,这个时候我们可以看到,sum=0,i=0,如果想要程序继续往下执行可以按快捷键F8或者下面这个按钮

 

 

 可以看到,随着程序往下执行,sum和i的值一直在变化。

这里从1到100,如果从1到1000,10000怎么退出这个断点呢,这个时候可以按F9,或者

这个按钮,意思是跳到下一个断点,如果你的程序只有一个断点的话相当于跳出了debug模式,程序继续执行。

变量

 从这张图可以看出来,idea除了在上面会把变量的值以不同的颜色显示出来后,在下面的框内也会断点所在的代码块的作用域内的所有变量值,如果在代码很多的情况下,在下面看起来是不是就方便多了。

接下来我们继续看:

 左边的这一部分是当前的方法是哪个线程在调用,可以看到,现在调用的线程是Main线程。

进阶

 看到这里很多人会问,我能不能中途修改i或者sum的值呢,当然是可以的,

可以看到,这里有个设置值,比如当前的值是1,可以在这里设置成想要设置的值,让程序用设置的值继续执行。

这个值我设置成30后,程序里边对应的i的值也成了30。

 也可以选中变量直接按F2来设置。

可以看看这个菜单还有其他的选项,实际过程中使用最多的就是修改变量的值或者查看变量的值。

条件断点 

 还是上面的例子,如果我想看看i=50的时候sum的值是多少,怎么办呢,可能很多人会在里边写个if,判断i=50,打印sum的值,其实完全没有必要。下面仔细看。

我们在断点上右击鼠标,会弹出这个框,下面有个条件,可以在里边写响应的条件,当满足的时候程序会停住。

 可以看到,我现在程序是关掉的,里边的条件是 i == 50,接下来我们以debug模式启动。

 i到50的时候,程序自动进入了断点。

接下来我们主要看第二行,第二行的意思是所有线程都会被断点所阻塞,如果选择的是线程,则会阻塞住每一个线程的,我们重点来看:

 我们对代码进行改写,如下:

启动程序,

我们选择的所有线程,主要看下面这张图:

 


 

我们改成了线程:

 

调用该代码的所有线程都会在,可以选择每个线程进行调试,可谓是强大如斯。 

 上面我们说了第一个,

接下来我们说说后面的,第二个和第三个都是进入到方法里边,第四个从方法里边跳出来到调用处。具体的话你们试一下就一目了然了。

此篇文章仅供入门,深层次使用收集了如下几篇,可以参考:

https://blog.csdn.net/zeal9s/article/details/102476637

https://www.cnblogs.com/yange317/p/12916858.html

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值