idea的debuge操作

idea debug常用键

左侧功能键

先来了解Debug栏中位于左侧的主要的5个功能键
在这里插入图片描述

  1. 第一个,有返回箭头的按钮,功能是重新运行Debug。一般不用。

  2. 第二个,一个竖杠加向右的三角形的按钮,功能是跳到下一次断点执行,两个断点之间的代码都被加载执行过了。
    但是当一个断点在一个for循环中,如果循环有n(n>=1)次,for循环外有一个断点,此时该功能是跳过一次for循环,并不是跳过所有循环而直接到下一个断点,那么如果先要跳过所有循环可以将断点暂时不启用,也就是将enabled去掉,因为enable是启用断点的意思。

  3. 第三个,一个红色的正方块的按钮,功能是结束Debug 的执行。按下之后,整个Debug调试都会将结束并停止执行。

  4. 第四个,两个重叠的红色圆圈的按钮,功能是查看所有的断点。快捷键是(shift + ctrl + F8),至于它的用法在上面将给断点添加条件时已讲述。

  5. 第五个,一个红色的圆圈中有一个灰色的斜杠的按钮,功能是隐藏所有的Debug断点。用途就是,当你在Debug调试时,你觉得此时已经没有问题了,这时可以暂时隐藏所有Debug断点,无障碍运行一次,如果有问题还要取消隐藏,不至于重新打开Debug。

右侧功能键

在这里插入图片描述

  1. 按钮1,功能是将你的光标移动到当前代码所执行处,不管此刻你的鼠标光标的位置在哪里。

  2. 按钮2,功能是单步跳入。Debug调试是一行一行的执行下去,但是如果遇到调用方法时,是不会进入方法里面的。

  3. 按钮3与按钮4,因为功能相似,放在一起讲。两个的功能都是单步进入的执行,
    但唯一的区别是:
    蓝色向下箭头的按钮遇到方法时,只有当经过的方法是用户自定义的方法才会跳进去,如果是系统自定的方法则不会跳进去。
    红色向下箭头的按钮,不管是系统自定义的方法还是用户自定义的方法都会跳入到方法里面去执行

  4. 按钮5,功能是单步跳出。可以跳出进入的方法。

  5. 按钮6,功能是从当前执行的位置直接执行到用户指定鼠标光标的位置
    在这里插入图片描述

回到"上一步"

该技巧最适合特别复杂的方法套方法的场景,好不容易跑起来,一不小心手一抖,断点过去了,想回过头看看刚才的变量值,如果不知道该技巧,只能再跑一遍。

老版本的idea:drop frame 即扔掉当前运行的栈帧,这样当前“指针”的位置,就自然到了上一帧的位置。
在这里插入图片描述
新版idea已经没有上面的drop frame按键了。取而代之的是栈帧前面的回退按钮,叫做Reset Frame 即重置栈帧。含义很好理解,栈帧即方法,重置栈帧代表回到上一个栈帧(即上一个方法)
Frame 帧

在这里插入图片描述
在这里插入图片描述

条件断点

循环中经常用到这个技巧,比如:遍历1个大List的过程中,想让断点停在某个特定值。

在这里插入图片描述
参考上图,在断点的位置,右击断点旁边的小红点,会出来一个界面,在Condition这里填入断点条件即可,这样调试时,就会自动停在i=10的位置
在这里插入图片描述

多线程调试

多线程同时运行时,谁先执行,谁后执行,完全是看CPU心情的,无法控制先后,运行时可能没什么问题,但是调试时就比较麻烦了,最明显的就是断点乱跳,一会儿停这个线程,一会儿停在另一个线程,比如下图:

在这里插入图片描述
如果想希望下一个断点位置是第2句诗句,可能要失望了。
如果想让线程在调试时,想按自己的愿意来,让它停在哪个线程就停在哪个线程,可以在图中3个断点的小红点上右击,
在这里插入图片描述
即:Suspend挂起的条件是按每个线程来,而非All。

临时执行表达式/修改变量的运行值

调试时,可以临时执行一些表达式,参考下图:
在这里插入图片描述

set value 可以直接修改变量值。
在这里插入图片描述

idea远程debuge

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/caoli201314/article/details/117914896
在这里插入图片描述
添加远程DEBUG配置项,HostPort,配置后,点击Apply和OK按钮
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值