idea 中使用debug

本文介绍了Java在IntelliJ IDEA中进行Debug的多种技巧,包括进入下一行代码、进入方法内部、强制进入方法内部等操作,还对比了运行到光标处和强制运行到光标处的差别,最后给出了更详细内容的博客链接。

在这里插入图片描述
进入下一行代码(不会进入方法内部)
.
.
.
在这里插入图片描述
进入方法内部(一般用于进入自定义方法内,不会进入官方类库的方法)
.
.
.
在这里插入图片描述
强制进入方法内部(可进入官方内库源码中)
.
.
.
在这里插入图片描述

智能进入方法内部,用于一行代码中方法中的参数是另一个方法的返回值比如以下图片:
在这里插入图片描述
.
.
.
在这里插入图片描述
从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值
.
.
.
在这里插入图片描述
退出代码块
.
.
.
在这里插入图片描述
运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点
.
.
.
在这里插入图片描述
强制运行到光标处
注意:Force run to cursor与run to cursor的差别是,后者在执行到光标的代码行前,如果有代码中设置了断点,会在该断点处暂停,等待进一步调试指令,而Force run to cursor不论光标前的代码中是否有断点,都会直接执行完所有光标前的代码直接到光标所在行,不会在断点处暂停。类似功能还有Force Step over与step over。
.
.
.

在这里插入图片描述
跳转到当前代码执行的行。
.
.
.
在这里插入图片描述
计算表达式
.
.
.
在这里插入图片描述
debug启动程序
.
.
.
在这里插入图片描述
代码执行到下一个断点处
.
.
.
在这里插入图片描述
打开断点页面
.
.
.
在这里插入图片描述
哑断点(跳过所有断点)
.
.
.
想要更详细内容的可以看下面的博客:
https://www.cnblogs.com/diaobiyong/p/10682996.html

### IntelliJ IDEADebug 条件断点的使用方法 在 IntelliJ IDEA 的调试模式下,条件断点是一种强大的工具,它可以让程序仅在满足某些特定条件下才暂停执行。以下是关于如何设置和使用条件断点的具体说明: #### 设置条件断点 1. **创建普通断点** 首先,在代码编辑器左侧的空白区域单击鼠标左键,或者按 `Ctrl+F8`(Windows/Linux)/ `Cmd+F8`(Mac),以在目标位置设置一个普通的断点。 2. **定义条件表达式** 右键点击已设置好的断点图标,选择“More...”选项,这将弹出断点属性对话框[^4]。在此窗口中,勾选“Condition”复选框,并输入所需的条件表达式。例如,如果希望程序仅在变量 `i` 大于等于 10 时停止,则可以在条件栏中填写 `i >= 10`。 3. **保存并应用** 完成条件设定后,点击“OK”按钮确认修改。此时,该断点即成为了一个带有条件触发机制的特殊断点。 #### 使用条件断点进行调试 当以 Debug 模式启动应用程序时(通过点击绿色甲虫图标或对应的快捷键实现[^5]),遇到设置了条件断点的地方,只有当指定条件成立的情况下,程序才会停下来供进一步分析;否则将继续正常运行而不做任何停留。 此外,利用此特性可以帮助开发者更高效地排查复杂业务逻辑中存在的潜在问题,特别是在处理大量数据迭代或是多分支判断场景下尤为适用。 ```java public class Example { public static void main(String[] args) { for (int i = 0; i < 20; i++) { System.out.println("Current value of i is: " + i); // 假设此处有一个可能引发错误的操作 if (i % 7 == 0 && i != 0){ throw new RuntimeException("Error occurred at index:" + i); } } } } ``` 以上示例展示了在一个简单的循环结构内部嵌入人工制造出来的异常情况。假如我们需要知道究竟是哪个具体的索引值导致了崩溃现象的发生,那么就可以针对局部变量 `i` 添加相应的条件限制——比如让其仅仅停留在那些能够整除七且不为零的时间节点之上(`i%7==0&&i!=0`)来进行深入探究。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值