文章目录

  • Debug 设置
  • Debug 常用快捷键
  • Debug 特殊技能使用
    • 查看所选对象
      • 弹出表达式输入框中 IntelliJ IDEA 也是能帮我们智能提示
    • 过掉后面的所有断点
      • 给断点设置进入的条件
      • 给断点设置更复杂的步入条件
      • 某些不重要的断点步入之后自动删除
      • 需要其他断点先触发之后再进行触发
      • 退到方法体外
      • 当前断点线程执行的堆栈情况

IntelliJ IDEA 是目前所有 IDE 中最具备沉浸式的 JVM IDE,没有之一。 下面就来看看,她的debug如何使用

Debug 设置

如上图标注 1 所示,表示设置 Debug 连接方式,默认是 Socket。Shared memory 是 Windows 特有的一个属性,一般在 Windows 系统下建议使用此设置,相对于 Socket 会快点。

Debug 常用快捷键

有时候我们可以这样粗鲁地认为 Debug 的使用就是等同于这几个快捷键的使用,所以上面的 必备
快捷键是我们必须牢记的,这些也是开发很常用的。

Debug 特殊技能使用

查看所选对象

方法常用有三种方式:

  1. 选中对象后,使用快捷键 Alt + F8。
  2. 选中对象后,拖动对象到 Watches。
  3. 选中对象后,鼠标悬停在对象上 2 秒左右。

弹出表达式输入框中 IntelliJ IDEA 也是能帮我们智能提示

过掉后面的所有断点

当我们需要过掉后面的所有断点的时候,我们不需要去掉这些断点,只需要点击左下角那个小圆点,点击小圆点之后,所有断点变成灰色,然后我们再在按快捷键 F9 即可过掉当前和后面所有的断点

给断点设置进入的条件

给断点设置更复杂的步入条件

红框中的 Pass count 表示跳过多少次后开始步入,比如 for 循环中,我们要查看一个变量循环 3 次后的结果就可以使用该方式

某些不重要的断点步入之后自动删除

对于某些不重要的断点,只要步入一次就够了,就可以勾选此选项,让它步入之后自动删除。

需要其他断点先触发之后再进行触发

对于某些场景的断点,需要其他断点先触发之后再进行触发,可以选择此项。默认选择的是: None

退到方法体外

有时候当我们步入方法体之后,还想回退到方法体外。如 Gif 演示,断点进入 addNum 方法后,点击 Drop Frame 按钮之后,断点重新回到方法体之外。

当前断点线程执行的堆栈情况

  • 左侧红框内容,可以看到当前断点线程执行的堆栈情况,最上面的为当前断点位置,下面的是断点前面执行的方法,如果需要看断点前面走过的路,可以查看该区域。并且可以用图上箭头按钮进行限制显示框架类代码的执行过程,而不是包括依赖 jar 里面的执行过程。

  • 右侧红框内容,可以用来展示单点断点位置的内存情况,对于判断内存溢出相关问题很有帮助。

IntelliJ-IDEA-Debug技巧相关推荐

  1. 最全的Pycharm debug技巧

    最全的Pycharm debug技巧: 工欲善其事,必先利其器.无论你的 IDE 是 IntelliJ IDEA.Pycharm.WebStorm.GoLang.还是PhpStorm ,调试器都是标配 ...

  2. IntelliJ IDEA 工具技巧

    学习交流加小编微信:Java_Bczn 以下都是自己积累的IntelliJ IDEA 使用技巧,比较零碎,观看不便之处还望海涵,如有错误之处还望指正 System.out.println(" ...

  3. IEDA使用之debug技巧(附高级玩法)

    前言 debug作为程序员的基础技能之一,在实际项目开发的排错中非常好用. debug不仅可以让我们更快定位到问题所在,而且debug模式的使用,也让程序员更清楚地了解到代码运行背后的逻辑. 这篇文章 ...

  4. linux 内核调试信息在哪里,Linux kernel debug技巧----开启DEBUG选项

    Linux kernel debug技巧----开启DEBUG选项 作者:wowo 发布于:2016-11-1 19:39 分类:Linux应用技巧 kernel的source code中有很多使用p ...

  5. Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处

    Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处 参考文章: (1)Intellij Idea debug 模式如果发现异常,即添加异常断点在发生异常处 (2)ht ...

  6. SAP中常见的Debug技巧(02)-跳过代码执行

    原文链接:https://mp.weixin.qq.com/s/PoKws0rdjEqEEw68AZ_UTQ 大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好. 愿大家的 ...

  7. IntelliJ IDEA 小技巧之Bookmark(书签)的使用

    这篇文章主要介绍了IntelliJ IDEA 小技巧之Bookmark(书签)的使用,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 1.创 ...

  8. IntelliJ IDEA Debug 如何进入Java源码

    本文为joshua317原创文章,转载请注明:转载自joshua317博客 IntelliJ IDEA Debug 如何进入Java源码 - joshua317的博客 1.使用快捷键:Alt+Shif ...

  9. Android - ReactNative Debug 技巧

    Android - ReactNative Debug 技巧 前言 因为旧的项目使用了 RN,在修复 Bug 的时候,很难定位问题,在 Debug 的时候花费了大量的时间.今天小结下 Debug 技巧 ...

  10. IntelliJ IDEA小技巧 —— 代码太乱?一键快速格式化代码

    IntelliJ IDEA小技巧 --  代码太乱?一键快速格式化代码 在使用IDEA的过程中,为了使代码看起来更整齐,可以在设置中定义代码的展示效果. 更改Java等常用代码的展示效果 1.打开ID ...

最新文章

  1. TCP数据流稳定性--TCP分片,重组及乱序
  2. 【数理知识】《数值分析》李庆扬老师-第7章-非线性方程与方程组的数值解法
  3. nth-of-type
  4. python通过get方法获取key对应的值
  5. 6 年成为 AIoT 独角兽,这位 17 年连续创业者是如何做到的?
  6. 用FileInputStream和FileOutputStream实现文件复制粘贴
  7. Android Activity 生命周期
  8. Erlang/Elixir: 外部通信之-NIF
  9. php中自定义事件---事件驱动
  10. 12864c与语言字符显示,12864液晶显示C语言程序设计实例
  11. win7电脑误删鼠标键盘驱动_快速恢复win7系统因驱动冲突导致鼠标键盘用不了的详细步骤...
  12. winhex数据恢复linux,winhex数据恢复完整图文教程
  13. 8.5 向量应用(三)——知识补充和梳理(夹角、距离和平面束)
  14. 企业为什么要建立档案管理?具体如何实现?
  15. Word中硬回车与软回车的区别和用法
  16. 对大众点评网会员制的一点分析
  17. [转] 理解TCP序列号(Sequence Number)和确认号(Acknowledgment Number)
  18. 一个基于Angular4+Bootstrap4+Scss的后台管理系统界面
  19. 固定资产的四种折旧方式
  20. NetLogo基础代码

热门文章

  1. 用 toto 快速建轻量级博客
  2. JVM监控及诊断工具GUI篇之JConsole
  3. 分布式事务解决方案之2PC(两阶段提交)介绍
  4. Spring源码之bean的销毁registerDisposableBeanIfNecessary方法解读
  5. Spring源码之事务(一)
  6. CMSIS-RTOS 时间管理之虚拟定时器Virtual Timers
  7. spirng 事物只支持 dml语句 update,insert delete
  8. Struts数据传输问题-- 数据超出2M时会导致映射数据丢失
  9. Oracle JET Model 数据获取与使用
  10. beanstalkd