idea里面关于debug的小技巧

属性断点

作用:查看属性值是如何变化和赋值情况

  1. 首先在属性定义所在行的左边打一个断点(会展示一个小眼睛)image.png
    点击断点右键可以选择监听属性的获取和修改
    image.png
  2. 然后调用方法发起请求,所有属性发生变化的地方都会自动断下来image.png
  3. 按F8继续让下走,可以看到name字段的字段值随着程序的赋值而变化
    image.png
    image.png

方法断点

作用:可以监听方法的进入和退出

  1. 在方法名所在行的左边打上一个断点(展示一个菱形)
    image.png
  2. 在断点处点击右键,可以选择是否监控方法的进入和退出,这里进入和退出都勾选
    image.png
  3. 调用请求,会发现每次进入方法和退出方法时候都会自动打上断点
    image.png

条件断点

查看达到某一个条件时候程序的运行状态,比如循环里面,需要查看当满足某一个条件时候的程序运行状态

  1. 首先在需要调试行前打一个断点,然后在断点上点击右键,在condition的输入框输入条件,比如本例中我需要查看当i等于15的运行情况,则输入i==15
    image.png
  2. 输入完成后点Done,然后会发现断点右下角多了一个问号,表示这里是有条件的
    image.png
  3. 此时调用接口,看程序执行情况。如图所示,程序在i==15时候断了下来
    image.png

异常断点

程序执行到某一步抛出了异常,但是不知道哪一步抛的异常,这种情况如何快速定位异常的位置呢?

  1. 首先去掉所有断点,我这里制造一个异常
    image.png
  2. 点击查看断点
    image.png
  3. 点击加号,点击异常断点
    image.png
  4. 输入异常类的名称,然后选中
    image.png
  5. 这时候会发现断点这里多了一个RuntimeException的断点,这样就算是把断点加上了
    image.png
  6. 调用请求可以看到当i等于9的时候系统为我们自动打了一个断点,表示这里符合RuntimeException条件
    image.png

源断点

用于不在代码里写打印语句而在控制台打印变量内容

  1. 首先在变量所在行打上断点,然后右键点击左下角的moreimage.png
  2. 勾选这两个选项,并在Evaluate and log下面输入iimage.png
  3. 调用方法,这个变量就会被输出到控制台了
    image.png

执行到光标所在行

debug时有时候想要程序直接跳转执行到某一行

  1. 首先打一个断点image.png
  2. 调用方法发起请求,程序会停在第一个断点位置
    image.png
  3. 现在想要实现依次运行到21行和27行,其实只需要先将光标停留在21行,然后点击这个按钮就行
    image.png
  4. 看效果
    image.png
    image.png

断点回退

比如当前debug到了第20行,但是想回去看debug到第15行的程序状态;
一般情况可能是越过所有断点重新发起请求,简单的请求还可以这样,但是实际测试环境中,好不容易造了一条满足条件的测试用例,结果结束请求后用例不满足条件了,无法直接重新调用,又得手动修改数据状态,重复做无用功

  1. 比如这里我已经执行到了27行,现在想重新回到第20行,怎么做呢?
    image.png
  2. 首先在需要回退的行位置打一个断点,比如我这里在20行打一个断点,然后找到debug的堆栈区,点击当前方法名,然后右键,点击Reset Frame重置帧,就会回退到
    image.png
  3. 点击Reset Frame重置帧后,程序回退到了controller的方法入口,然后按F8执行下一步,程序会停留到程序的第一个断点处
    image.png
    在这里插入图片描述
  • 15
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
IDEA中进行debug操作非常简单。首先,在你想要设置断点的代码行上,使用鼠标左键点击一下,即可在该行上设置一个断点。\[1\]接下来,你可以通过点击IDEA工具栏上的"Debug"按钮或使用快捷键(通常是F9)来启动debug模式。一旦程序运行到断点位置,它将会暂停,允许你观察代码的执行情况。\[1\] 在debug模式下,你可以使用工具栏上的一些按钮来控制程序的执行。例如,你可以使用"Step Over"按钮(通常是F8)来逐行执行代码,而不会进入方法内部。\[3\]如果你想要进入方法内部执行一行代码,你可以使用"Step Into"按钮(通常是F7)。这将允许你跳入自己写的方法,但对于系统已经定义好的方法,你可能需要使用"Step Over"按钮来避免进入其中。\[3\] 通过debug模式,你可以追踪代码的运行流程,分析定位异常发生的位置,以及观察参数的变化。这对于调试程序和学习三方框架的源码非常有帮助。\[2\]希望这些信息对你有所帮助! #### 引用[.reference_title] - *1* *3* [IDEAdebug调试技巧详解](https://blog.csdn.net/future_god_qr/article/details/121250865)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [在Intellij IDEA中使用Debug](https://blog.csdn.net/Dome_/article/details/80638221)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值