Idea调试技巧

输入快捷键

  1. psvm --------- main方法
  2. sout --------- System.out.println();

取消大小写敏感

取消大小敏感,在编写代码的时候,代码的自动提示将更加全面和丰富
取消大小写敏感

debug调试页面介绍

调试页面

  • 调试按钮:调试的主要功能就对应着这几个按钮,鼠标悬停在按钮上可以查看对应的快捷键。在菜单栏Run里可以找到同样的对应的功能

  • 服务按钮:可以在这里关闭/启动服务,设置断点等。

  • 方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All Frames]按钮,就不会显示其它类库的方法了,否则这里会有一大堆的方法。

  • 变量区:在变量区可以查看当前断点之前的当前方法内的变量。

  • Watches:查看变量,可以将Variables区中的变量拖到Watches中查看

断点对话框

断点对话框

调试按钮

调试按钮

Alt + F10 (定位当前断点):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。
F8 (向下执行一行):步过,一行一行地往下走,如果这一行上有方法不会进入方法。
F7 (进入当前方法):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。
Alt + Shift + F7 (强制进入当前方法):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。
Shift + F8 (执行完当前方法):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。
Drop Frame(回退到上一个方法调用栈):回退断点,已赋值或插入数据的操作不会回退,单纯断点回退。
Alt + F9 (运行到光标处):你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。
Alt + F8 (计算变量或表达式的值):执行某段代码,并展示返回值。

服务按钮

服务按钮

  1. 重新运行程序,会关闭服务后重新启动程序。
  2. 修改运行配置。
  3. F9:恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。
  4. 暂停程序,启用Debug。
  5. Ctrl + F2:连续按两下,关闭程序。
  6. Ctrl + Shift + F8:查看所有断点,打开断点对话框。
  7. 让所有断点失效:哑的断点,选择这个后,所有断点变为灰色,断点失效。如果只想使某一个断点失效,可以在断点上右键取消Enabled

变量查看

  1. 参数所在行后面会显示当前变量的值
  2. 光标悬停到参数上,显示当前变量信息。
  3. 在Variables里查看,这里显示当前方法里的所有变量,也可以修改非final变量。
  4. 在Watches里,点击New Watch,输入需要查看的变量。或者可以从Variables里拖到Watche里查看
    在这里插入图片描述

设置条件断点

  1. 在断点上右键直接设置当前断点的条件
    断点条件设置

  2. 点击View Breakpoints (Ctrl + Shift + F8)在断点对话框设置
    Java Line Breakpoints 显示了所有的断点,在右边勾选Condition,设置断点的条件。
    勾选Log message to console,则会将当前断点行输出到控制台
    勾选Evaluate and log,可以在执行这行代码是计算表达式的值,并将结果输出到控制台。
    在这里插入图片描述

异常断点

通过设置异常断点,在程序中出现需要拦截的异常时,会自动定位到异常行。
点击+号添加Java Exception Breakpoints,添加异常断点。然后输入需要断点的异常类

在这里插入图片描述

临时断点

一般调试的时候,我们会在代码行使用断点,然后运行测试,等到程序遇到断点暂停时,查看相关变量内容。
在 IDEA 中,默认断点将会一直存在。有时候仅仅想需要暂停第一次,临时查看,这个时候我们可以使用临时断点。
使用快捷键 Ctel + Alt + Shift +F8 可以快速创建临时断点或者按住 ALt,然后再创建断点。

断点回退

回退的方式有两种:

  • 一种是Drop Frame按钮,按调用的方法逐步回退,包括三方类库的其它方法(取消Show All Frames按钮会显示三方类库的方法)。
  • 第二种方式,在调用栈方法上选择要回退的方法,右键选择Drop Frame,回退到该方法的上一个方法调用处,此时再按F9,可以看到程序进入到该方法的断点处了。

但有一点需要注意,断点回退只能重新走一下流程,之前的某些参数/数据的状态已经改变了的是无法回退到之前的状态的,如对象、集合、更新了数据库数据等等。

中断Debug

想要在Debug的时候,中断执行,点击Force Return,弹出Return Value的窗口,我这个方法的返回类型为Map,所以,我这里直接返回 results,来强制返回,从而不再进行后续的流程。返回的时候可以设置返回值。

多线程调试

IDEA在Debug时默认阻塞级别是ALL,会阻塞其它线程,只有在当前调试线程走完时才会走其它线程。可以在View Breakpoints里选择Thread,然后点击Make Default设置为默认选项。
切换线程,在Frames的下拉列表里,可以切换当前的线程,切换另外一个则进入另一个Debug的线程。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值