您当前的位置: 首页 >  ide

小志的博客

暂无认证

  • 1浏览

    0关注

    1217博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

IDEA:Debug使用详解(含2018版特性)

小志的博客 发布时间:2019-11-04 17:29:50 ,浏览量:1

一、Debug 常用快捷键 快捷键介绍F7在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果该方法体还有方法,则不会进入该内嵌的方法中 必备F8在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则不进入当前方法体内 必备F9在 Debug 模式下,恢复程序运行,但是如果该断点下面代码还有断点则停在下一个断点上 必备Alt + F8在 Debug 的状态下,选中对象,弹出可输入计算表达式调试框,查看该输入内容的调试结果 必备Ctrl + F8在 Debug 模式下,设置光标当前行为断点,如果当前已经是断点则去掉断点Shift + F7在 Debug 模式下,智能步入。断点所在行上有多个方法调用,会弹出进入哪个方法Shift + F8在 Debug 模式下,跳出,表现出来的效果跟 F9 一样Ctrl + Shift + F8在 Debug 模式下,指定断点进入条件Alt + Shift + F7在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入Drop Frame这个不是一个快捷键,而是一个 Debug 面板上的按钮。该按钮可以用来退回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过 二、 idea的断点调试-菜单讲解

在这里插入图片描述

1Step Over ,进入下一步,如果是方法,那就直接跳过(F8)2Step Into,进入下一步,如果是方法,就进入方法内部,但是不会进入jdk封装的方法。(F7)3Force Step Into:强制进入下一步,不管是什么方法,即使是jdk封装的方法,也会进入。(Alt+Shift+F7)4Step Out:跳转到下一个断点,没有一直运行到最后。(Shift+F8)5这个不是一个快捷键,而是一个 Debug 面板上的按钮。该按钮可以用来退回到当前停住的断点的上一层方法上,可以让过掉的断点重新来过Alt + Shift + F7在 Debug 模式下,进入下一步,如果当前行断点是一个方法,则进入当前方法体内,如果方法体还有方法,则会进入该内嵌的方法中,依此循环进入 快捷键功能描述F9resume programe 恢复程序,下一个断点(或者运行到断点)F8单步调试,不进入函数内部F7单步调试,进入函数内部Shift+F7选择要进入的函数Shift+F8跳出函数Alt+F9运行到断点Alt+F8执行表达式查看结果F9继续执行,进入下一个断点或执行完程序Ctrl+F8设置/取消当前行断点Ctrl+Shift+F8查看断点 三、Debug 特殊技能使用

在这里插入图片描述

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

  • 选中对象后,使用快捷键 Alt + F8。
  • 选中对象后,拖动对象到 Watches(在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 里面的执行过程。
  • 如上图右侧红框内容,可以用来展示单点断点位置的内存情况,对于判断内存溢出相关问题很有帮助。

在这里插入图片描述

  • 如上图:在 IntelliJ IDEA 版本:2018.1中还有可以实现debug异常模拟
关注
打赏
1661269038
查看更多评论
立即登录/注册

微信扫码登录

0.0446s