巧用idea的Variables和Watches(重点)

https://baijiahao.baidu.com/s?id=1680994198205875123&wfr=spider&for=pc

package controller;

import java.util.ArrayList;

public class Test5 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("hello");
        list.add("java");
        list.add("idea");
        System.out.println(list);

        String str = "xxxxxxx";
        System.out.println("str = " + str);
    }
}

Variables用法

要修改的变量上右键setValue

在这里插入图片描述
修改str的值
在这里插入图片描述

然后回车确定
在这里插入图片描述
控制台也可以打印出来

在这里插入图片描述

Watches用法

在这里插入图片描述
在这里插入图片描述
按回车
执行成功
在这里插入图片描述
执行后要删除掉
在这里插入图片描述

在这里插入图片描述
输出结果已执行

list.add("swift");

在这里插入图片描述
这样可以在不停掉debug的情况下修改代码查看效果

<think>好的,我现在需要帮助用户了解如何在IntelliJ IDEA中使用调试模式。首先,我应该回顾用户提供的引用内容,特别是引用[3]引用[4],因为这两个部分提到了调试相关的信息。 用户的问题是关于调试模式的使用指南,所以需要分步骤说明。根据引用[3],Debug模式用于追踪代码运行流程,分析异常位置,以及参数变化。同时,学习三方框架源码时也可以用Debug跟踪流程。此外,引用[4]提到了社区版的下载安装,但用户的问题已经假设他们安装了IDEA,所以可能不需要这部分,但可以作为背景参考。 接下来,我需要构建一个结构清晰的回答,按照用户的要求分步骤说明。首先,设置断点,然后启动调试会话,接着在调试过程中使用各种工具,如步过、步入、强制步入、步出,查看变量,观察表达式,修改变量值,以及条件断点等。每个步骤需要简明扼要,确保用户容易理解。 同时,需要确保使用正确的中文术语,并引用相关的内容。例如,在讲解断点时,可以提到引用[3]中提到的追踪代码运行流程。在调试器窗口部分,变量查看观察表达式也对应引用中的内容。 最后,生成相关问题,可能需要考虑用户进一步的需求,比如如何分析异常、使用远程调试或日志与调试结合等。确保问题与主题相关,帮助用户深入理解。 检查是否遗漏了关键功能,比如条件断点、修改变量值,这些都是调试中常用的高级技巧,应该包含在内。还要注意IDEA的界面元素,比如行号旁边的点击设置断点,调试工具栏的按钮功能,这些细节能提升指导的准确性。 总结下来,回答的结构应该是先介绍基本步骤,然后详细说明每个步骤的操作,最后给出常见应用场景相关问题。这样用户能逐步学习并应用调试功能,解决实际问题。</think>### IntelliJ IDEA 调试模式使用指南 通过以下步骤可掌握调试模式的核心功能: #### 一、基础调试操作 1. **设置断点** - 在代码行号左侧点击,出现红色圆点即设置断点(支持行断点、方法断点、字段断点) - 右键断点可设置条件:如`i > 5`时触发[^3] 2. **启动调试会话** - 点击工具栏绿色甲虫图标或右键选择`Debug 'ClassName'` - 程序执行到断点时会自动暂停 3. **调试控制按钮** - 步过(F8):执行当前行不进入方法 - 步入(F7):进入当前行的方法内部 - 强制步入(Alt+Shift+F7):进入三方库源码 - 步出(Shift+F8):执行完当前方法并返回调用处 #### 二、调试器窗口详解 1. **变量查看** - `Variables`面板显示当前作用域所有变量值 - 支持展开对象查看内部字段值 2. **观察表达式** - `Watches`面板可添加自定义表达式:如`list.size() > 10` - 实时显示表达式计算结果 3. **调用栈追踪** - `Frames`面板展示方法调用链 - 点击不同栈帧可查看对应上下文变量 #### 三、高级调试技巧 1. **强制修改变量值** - 在`Variables`面板右键变量选择`Set Value` - 动态修改运行时的数据状态 2. **异常捕获功能** - 在`Run -> View Breakpoints`中启用异常断点 - 可指定捕获特定异常类型 3. **多线程调试** - 线程列表显示所有活动线程 - 右键线程可冻结/恢复执行 #### 四、常见应用场景 1. **循环逻辑验证** ```java for(int i=0; i<10; i++){ // 设置条件断点i==5 System.out.println(i); } ``` 2. **对象状态追踪** ```java User user = new User(); // 设置字段断点监测name字段变化 user.setName("test"); ``` 3. **三方库源码分析** ```java List<String> list = new ArrayList<>(); list.add("data"); // 强制步入查看ArrayList.add实现 ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值