IntelliJ IDEA Tutorial
  • Introduction
  • 01. IntelliJ IDEA 介绍(新用户必看)
  • 02. 教程介绍(新用户必看)
  • 03. 安装环境:Windows
  • 04. 安装环境:Ubuntu
  • 05. 安装环境:Mac
  • 06. 安装环境总结(新用户必看)
  • 07. 首次运行向导(新用户必看)
  • 08. 安装后生成的目录说明、VM 设置(新用户必看)
  • 09. UI 界面(新用户必看)
  • 10. UI 主题、字体、编辑区主题、文件编码修改、乱码问题(新用户必看)
  • 11. 常见各类文件类型图标(新用户必看)
  • 12. IntelliJ IDEA 搜索快的原因:索引(新用户必看)
  • 13. Java 文件编译方式(新用户必看)
  • 14. 项目相关概念(新用户必看)
  • 15. Hello World 的 Java 项目创建和项目配置文件
  • 16. 版本控制讲解(SVN + Git)
  • 17. 实时代码模板
  • 18. 文件代码模板
  • 19. 前端代码模板:Emmet
  • 20. 特殊代码模板:Postfix Completion
  • 21. 插件相关功能
  • 22. Eclipse 的 Java Web 项目环境搭建
  • 23. Maven 结构项目搭建
  • 24. IntelliJ IDEA 配合 Maven 的一些要点
  • 25. Maven 的单模块 / 多模块 Spring MVC + Spring + Mybatis 项目(新人重点)
  • 26. Maven 的单模块 Spring MVC + Spring + Spring Data JPA 项目
  • 27. Maven 的单模块 Spring Boot 项目
  • 28. Debug 技巧
  • 29. 重构技巧
  • 30. 数据库管理工具
  • 31. IntelliJ IDEA 推荐设置(新人重点)
  • 32. IntelliJ IDEA 常用细节 -1
  • 33. IntelliJ IDEA 常用细节 -2
  • 34. IntelliJ IDEA 常用细节 -3
  • 35. IntelliJ IDEA 常用细节 -4
  • 36. IntelliJ IDEA 常用快捷键讲解(Win + Linux)(新用户必看)
  • 37. IntelliJ IDEA 常用快捷键讲解(Mac)(新用户必看)
  • 38. 从 Windows 过度到 Mac 必备快捷键对照表(新用户必看)
  • 39. IntelliJ IDEA 的 Java 热部署插件 JRebel 安装及使用
  • 40. IntelliJ IDEA 远程调试(Tomcat+Jetty)
  • 41. 最特殊的快捷键 Alt + Enter 介绍(新用户必看)
  • 42. IntelliJ IDEA 插件开发视频教程
  • 43. 本教程总结
  • 在机器之间同步 Intellij IDEA 配置
  • IntelliJ IDEA Tips & Tricks: 多个光标
  • IntelliJ IDEA Tips & Tricks: 后缀补全
  • 代码风格设定
  • 在 IntelliJ IDEA 中查看一个类的所有继承类
Powered by GitBook
On this page
  • Debug 设置
  • Debug 常用快捷键
  • Debug 特殊技能使用

Was this helpful?

28. Debug 技巧

Previous26. Maven 的单模块 Spring MVC + Spring + Spring Data JPA 项目Next29. 重构技巧

Last updated 5 years ago

Was this helpful?

Debug 设置

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

Debug 常用快捷键

Win 快捷键

Mac 快捷键

介绍

F7

F7

进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 必备

F8

F8

进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 必备

F9

Command + Option + R

恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上 必备

Alt + F8

Option + F8

选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 必备

Ctrl + F8

Command + F8

设置光标当前行为断点,如果当前已经是断点则去掉断点

Shift + F7

Shift + F7

智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法

Shift + F8

Shift + F8

跳出,表现出来的效果跟 F9 一样

Ctrl + Shift + F8

Command + Shift + F8

指定断点进入条件

Alt + Shift + F7

Option + Shift + F7

进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入

Alt + Shift + F8

Option + Shift + F8

返回上一步

Drop Frame

Drop Frame

这个不是一个快捷键,而是一个 Debug 面板上的按钮。该按钮可以用来退回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过

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

Debug 特殊技能使用

  • 如上图 Gif 所示,查看所选对象的方法常用有三种方式:

  • 选中对象后,使用快捷键 Alt + F8。

  • 选中对象后,拖动对象到 Watches。

  • 选中对象后,鼠标悬停在对象上 2 秒左右。

  • 如上图 Gif 所示,在弹出表达式输入框中 IntelliJ IDEA 也是能帮我们智能提示。

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

  • 我们可以给断点设置进入的条件。如上图 Gif 所示,因为变量 temp3 不等于 200 所以该断点没有被进入直接跳过。

  • 如上图,我们可以给断点设置更复杂的步入条件

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

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

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

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

  • 上图 IntelliJ IDEA 版本:2017.1.3

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

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

Debug 设置
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用
Debug 特殊技能使用