文章目录

  • 前言
  • 开始调试
  • 调试界面解释
  • 步过、步入和强制步入区别

前言


相信大家在运行 Java 代码的时候难免会有自己设下的 bug 找不出来的时候,那叫一个头发纷飞止不住,头发堪忧啊。
所以狗子我去网上看了许多关于 IDEA调式 文章,发现很多过于详细对小白很不友好(如同我),因此我将一些常用的调式操作总结在本文中使其变得更加通俗易懂,更进一步的调式操作当日后使用到的时候再另起一篇文章进行补充。

开始调试


开始调试主要分为两步,第一为设置断点,第二才进行调式操作。

1、设置断点

设置断点的方法基本上大多数的 IDE 都一致,当我们在代码行上的数字旁鼠标左键点击一下,便设置断点成功(可设置多个断点)。断点还可以进行其余设置

  • 取消勾选 Enable 可使该断点失效
  • Condition 框即下图红色框中输入判断语句即可设置断点的触发条件


2、Debug调试

启动调式主要有以下三种方法:

  • 快捷键:shift + F9 (可自行更换)
  • 工具栏点击小甲虫样式debug 按钮
  • “Run” 菜单下的 debug

调试界面解释

点击了调试按钮之后,我们 IDEA 的底部会变成以下形式。既然要开始调试,我们总得先对调试界面有一个初步的认识不是,因此在下面我对常用的部分进行解释

1、调试器
在此界面可查看关于调式获得到的信息,如变量、方法返回值等

2、控制台
点击控制台后可以跟我们正常运行代码一样,在控制台中输入数据和查看输出情况

3、Show Execution Point
快捷键为 Alt + F10 。如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。

4、Step Over
快捷键为 F8步过,一行一行地往下走,如果这一行上有方法不会进入方法。

5、Step Into
快捷键为 F7步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。

6、Force Step Into
快捷键为 Alt + Shift + F7强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。

7、Step Out
快捷键为 Shift + F8步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。

8、Run to Cursor
Alt + F9运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。

9、Variable窗口
如图中的红框,这里显示当前方法里的所有变量

10、Watch窗口
在Watches里,可查看自己需要的变量。点击窗口中的加号按钮(New Watch),输入需要查看的变量。或者可以从 Variables窗口 里拖到 Watche窗口 里查看。如果没有 Watch窗口 显示,点击一下 Variable窗口 中的眼睛样式按钮即可

步过、步入和强制步入区别

这三个按钮的功能各有千秋,都具有进行到下一步的功能。当我们写的 bug 不同时,我们就得用到不同的按钮,下面我用表格列出三者的不同

是否可跳转 是否可进入自定义方法 是否可进入类库方法
步过
步入
强制步入

好了,介绍就到这里结束啦,本文中提及的都是很基础的操作,但大多数都是很常用的,希望可以起到帮助(主要是忘记的时候能回来看看)。最后推荐,有时候你进行实操的手会比你现在顶着我的眼睛更加记忆深刻
光速撤退(Σ⊙㉨⊙)

2020版IDEA调试入门(简单实用)相关推荐

  1. 《2020版JavaScript基础入门教程全集》,助你一臂之力!

    当下,随着5G商用正在有序推进,很多传统的前端工程师并不能满足时下企业用人需求了,越来越多的开发模式以及前端框架不断的涌现出来,这也就要求程序员需要不断去自我增值. 前端要学习的东西很多,对于自学的小 ...

  2. 查网页版英文字典的简单实用工具

    每次查单词的时候都要敲一遍,而且要有时要查多个字典来相互印证,耗时又繁琐,所以简单写了这么个工具.查单词的时候先复制单词到剪切板,然后再按快捷键就可以了.同时滤掉广告,加载网页更顺畅.具体说明见下面. ...

  3. 一款简单实用的桌面电子邮件客户端

    为大家分享一款Gmail 客户端,Mia for Gmail for mac运行在菜单栏,支持添加多个Gmail帐户,你可以快速搜索.阅读和撰写电子邮件,当你收到电子邮件时,Mia for Gmail ...

  4. Mac上一款简单实用的系统清理和优化工具

    iBoostUp Mac版是一款简单实用的系统清理和优化工具,iBoostUp通过清除不需要的文件,修复硬盘,提供性能建议,通过删除cookies来保护您的隐私,显示易于访问的系统信息以及更多功能,从 ...

  5. 微信公众平台开发入门教程[2020版]

    在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见左侧 ...

  6. 千锋python笔记_《2020千锋Python入门视频全套全开源》多实用

    确实,对于在学开发或者已经从事开发工作的小哥哥小姐姐来说,恋爱这个事还挺让人揪心的! 有对象的时候又怕嘴笨不会哄对象,总不能跟对象说你看我用代码给你画个心吧!没对象的用爬虫技术爬来各种小哥哥小姐姐的头 ...

  7. ps ico插件_Photoshop 2020特别版 内置多款实用插件

    Adobe Photoshop 2020特别21.2.1.265版 大小只有633MB 由释怀大神修改组件精简 同时优化软件配置,添加多款实用强大的插件,具体详细修改精简内容如下: 释怀特别21.2. ...

  8. 简单技能之程序调试入门

    简单技能之程序调试入门 黑盒测试 等价类划分

  9. html+css+小图标,HTML+CSS入门 一个简单实用的CSS loading图标

    本篇教程介绍了HTML+CSS入门 一个简单实用的CSS loading图标,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门.< 在web开发中,为了提高用户体验,在加载数据的时 ...

最新文章

  1. 【NLP】BERT 模型与中文文本分类实践
  2. 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...
  3. AI算法连载17:统计之半监督学习
  4. js中解析json字符串
  5. 从计算机基础知识到机器学习第1堂课,最适合新手的5场直播来了
  6. 华为交换机默认vlan都是通的吗_华为设备二层交换技术——Hybrid接口详解
  7. 线性代数学习笔记(二)
  8. mysql调优 参数说明
  9. 使用@property
  10. 易语言 — 数据类型
  11. sklearn中的降维算法(PCA)(原理相关)-1
  12. origin 去掉白边
  13. 快手、抖音等短视频营销模式
  14. 国庆日快到啦!国庆版头像来了!总有一款适合你!
  15. AE开发之图层渲染20210603
  16. 简单内存泄漏检测方法,解决Detected memory leaks!问题 .
  17. 简单一点,利用xpath解析爬取站长素材的图片
  18. system32里的文件说明
  19. UTF-8和UTF-16简介
  20. .NET周报【11月第2期 2022-11-15】

热门文章

  1. Tensorflow学习:数据集下载
  2. 【Idea】删除jar包方式
  3. iPhone图片格式转换之heic转jpg
  4. DM8达梦数据库文件管理
  5. Linux安装MySQL 5.7
  6. android动画鸿阳,Android屏幕适配,目前完美
  7. 使用无线网连接手机与电脑
  8. 智利近海发生6.7级地震:暂无伤亡 不会引发海啸
  9. 3Dslicer默认扩展模块程序介绍
  10. 各数据库SQL查询结果多行数据合并成一行