1.设置断点

选定要设置断点的代码行,在行号的区域后面单击鼠标左键即可。

2.开启调试会话

点击红色箭头指向的小虫子,开始进入调试。

IDE下方出现Debug视图,红色的箭头指向的是现在调试程序停留的代码行,方法f2()中,程序的第11行。红色箭头悬停的区域是程序的方法调用栈区。在这个区域中显示了程序执行到断点处所调用过的所用方法,越下面的方法被调用的越早。

3.单步调试

3.1 step over

点击红色箭头指向的按钮,程序向下执行一行(如果当前行有方法调用,这个方法将被执行完毕返回,然后到下一行)

3.2 step into

点击红色箭头指向的按钮,程序向下执行一行。如果该行有自定义方法,则运行进入自定义方法(不会进入官方类库的方法)。具体步骤如下:

在自定义方法发f1()处设置断点,执行调试

点击

3.3 Force step into

该按钮在调试的时候能进入任何方法。

3.4 step out

如果在调试的时候你进入了一个方法(如f2()),并觉得该方法没有问题,你就可以使用stepout跳出该方法,返回到该方法被调用处的下一行语句。值得注意的是,该方法已执行完毕。

3.5 Drop frame

点击该按钮后,你将返回到当前方法的调用处(如上图,程序会回到main()中)重新执行,并且所有上下文变量的值也回到那个时候。只要调用链中还有上级方法,可以跳到其中的任何一个方法。

4. 高级调试

4.1 跨断点调试

设置多个断点,开启调试。

想移动到下一个断点,点击如下图:

程序将运行一个断点到下一个断点之间需要执行的代码。如果后面代码没有断点,再次点击该按钮将会执行完程序。

4.2 查看断点

点击箭头指向的按钮,可以查看你曾经设置过的断点并可设置断点的一些属性。

箭头1指向的是你曾经设置过的断点,箭头2可以设置条件断点(满足某个条件的时候,暂停程序的执行,如 c==97)。结束调试后,应该在箭头1处把所设的断点删除(选择要删除的断点后,点击上方的红色减号)。

4.3 设置变量值

调试开始后,在红箭头指向的区域可以给指定的变量赋值(鼠标左键选择变量,右键弹出菜单选择setValue...)。这个功能可以更加快速的检测你的条件语句和循环语句。

intellij idea 必知的debug功能相关推荐

  1. IntelliJ IDEA 必知技巧(持续更新)

    目录 一.本地备忘录功能 二.跳过单元测试 三.阻止import合并 四.查看类结构快捷键 五.解决 updating indices 六.idea serializable 生成id 快捷键 七.I ...

  2. Intellij IDE 必知配置

    为什么80%的码农都做不了架构师?>>>    优化配置你的IDE,简单快速 1.修改JVM参数 (IntelliJ IDEA 10.0.1包含以上版本不需要设置) 修改idea.e ...

  3. ios13看怎么airpods电量_你的iPhone升级iOS13了吗?iOS13升级前,必知的七大新功能...

    最新的iOS13已经登场了,他带来不少更新,比方说呢,像是开启App的速度变快,还有.我们终于可以要求Siri来帮我们播放第三方App的音乐,今天就给大家分享一下iOS必知的七大新功能.支持的机型有i ...

  4. servlet必知细节(三)-- DefaultServlet

    servlet必知细节(三)-- DefaultServlet 缺省servlet:org.apache.catalina.servlets.DefaultServlet,作用是处理其他servlet ...

  5. Python 程序员必知必会的开发者工具

    Python 程序员必知必会的开发者工具 Python已经演化出了一个广泛的生态系统,该生态系统能够让Python程序员的生活变得更加简单,减少他们重复造轮的工作.同样的理念也适用于工具开发者的工作, ...

  6. 性能调优之JMH必知必会1:什么是JMH

    性能调优之JMH必知必会1:什么是JMH JMH必知必会系列文章(持续更新) 一.前言 二.什么是JMH 1.JMH简介 2.JMH入门 3.使用JMH进行微基准测试 JMH必知必会系列文章(持续更新 ...

  7. 程序猿必知英语词汇总结

    程序员必知1700英语单词 这篇文章对英语基础不好的小白特别有帮助 转自:https://blog.csdn.net/z770816239/article/details/80043967 1. fi ...

  8. 英:程序员必知单词、语句、英文缩写汇总

    转自: 程序员必知单词.语句.英文缩写汇总 程序员必知单词.语句.英文缩写汇总 2018年11月06日 14:02:52 牟垚 阅读数:180 综述:便于类,函数命名,工作文档阅读而做的单词积累,还是 ...

  9. 【Nodejs】Nodejs入门必知

    https://i5ting.github.io/How-to-learn-node-correctly/#1 1.3.2. 安装Node.js环境 3m安装法 nvm(node version ma ...

最新文章

  1. 客户流失预警模型-GBDT模型
  2. C#一种最简单实用安全的单例模式,也是线程安全的
  3. 洛谷 P3177 [HAOI2015]树上染色
  4. 类与类之间关系,用C#和JavaScript体现
  5. 机器学习相关——协同过滤
  6. 拜年+红包,都有份儿!
  7. mysql新增列并同时增加数据_图解MySQL | 「原理解析」 MySQL 为表添加列 是怎么立刻完成的...
  8. 关闭windows电脑 ctrl +alt +方向键旋转屏幕快捷键
  9. mysql删库命令是啥_MySQL删除数据库的命令是什么?
  10. 谁说淘宝客不赚钱?用此招,票子流量手到擒来!
  11. Mac 系统 Arduino IDE 找不到开发板端口的解决方法
  12. Flutter 开发——识别iOS设备
  13. 《Linux内核设计与实现》之进程
  14. c语言josephus问题循环链表,循环单链表(C语言,无头节点,附约瑟夫杀人问题)...
  15. MFSU latest build error: AssertionError [ERR_ASSERTION]: dependence not found: echarts-for-react
  16. 读《深入理解Java虚拟机》笔记
  17. CocosCreator中使用pureMvc
  18. 51单片机之按键(独立按键矩阵按键)
  19. 一个前端失败者的自我剖析与反思
  20. SteamVR 1.x☀️二、实现凝视效果——基于[CameraRig]

热门文章

  1. OSS正式支持IPv6公测
  2. 详解zabbix中文版安装部署
  3. jQuery 1.9 移除了 $.browser 的替代方法
  4. 数据库开发基本操作-安装Sql Server 2005出现“性能监视器计数器要求”错误解决方法...
  5. ITSM实施三招[案例]
  6. 怎样在swift中创建CocoaPods
  7. 数据连接池的工作机制是什么?
  8. 我是如何在天猫、蚂蚁金服、百度等大厂面试中被拒的 | 掘金技术征文
  9. Redis 集群部署及踩过的坑
  10. 如何让网页不受电信114劫持