2020版IDEA调试入门(简单实用)
文章目录
- 前言
- 开始调试
- 调试界面解释
- 步过、步入和强制步入区别
前言
相信大家在运行 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调试入门(简单实用)相关推荐
- 《2020版JavaScript基础入门教程全集》,助你一臂之力!
当下,随着5G商用正在有序推进,很多传统的前端工程师并不能满足时下企业用人需求了,越来越多的开发模式以及前端框架不断的涌现出来,这也就要求程序员需要不断去自我增值. 前端要学习的东西很多,对于自学的小 ...
- 查网页版英文字典的简单实用工具
每次查单词的时候都要敲一遍,而且要有时要查多个字典来相互印证,耗时又繁琐,所以简单写了这么个工具.查单词的时候先复制单词到剪切板,然后再按快捷键就可以了.同时滤掉广告,加载网页更顺畅.具体说明见下面. ...
- 一款简单实用的桌面电子邮件客户端
为大家分享一款Gmail 客户端,Mia for Gmail for mac运行在菜单栏,支持添加多个Gmail帐户,你可以快速搜索.阅读和撰写电子邮件,当你收到电子邮件时,Mia for Gmail ...
- Mac上一款简单实用的系统清理和优化工具
iBoostUp Mac版是一款简单实用的系统清理和优化工具,iBoostUp通过清除不需要的文件,修复硬盘,提供性能建议,通过删除cookies来保护您的隐私,显示易于访问的系统信息以及更多功能,从 ...
- 微信公众平台开发入门教程[2020版]
在这篇微信公众平台开发教程中,我们假定你已经有了PHP语言程序.MySQL数据库.计算机网络通讯.及HTTP/XML/CSS/JS等基础. 我们将使用微信公众账号方倍工作室作为讲解的例子,二维码见左侧 ...
- 千锋python笔记_《2020千锋Python入门视频全套全开源》多实用
确实,对于在学开发或者已经从事开发工作的小哥哥小姐姐来说,恋爱这个事还挺让人揪心的! 有对象的时候又怕嘴笨不会哄对象,总不能跟对象说你看我用代码给你画个心吧!没对象的用爬虫技术爬来各种小哥哥小姐姐的头 ...
- ps ico插件_Photoshop 2020特别版 内置多款实用插件
Adobe Photoshop 2020特别21.2.1.265版 大小只有633MB 由释怀大神修改组件精简 同时优化软件配置,添加多款实用强大的插件,具体详细修改精简内容如下: 释怀特别21.2. ...
- 简单技能之程序调试入门
简单技能之程序调试入门 黑盒测试 等价类划分
- html+css+小图标,HTML+CSS入门 一个简单实用的CSS loading图标
本篇教程介绍了HTML+CSS入门 一个简单实用的CSS loading图标,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门.< 在web开发中,为了提高用户体验,在加载数据的时 ...
最新文章
- 【NLP】BERT 模型与中文文本分类实践
- 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...
- AI算法连载17:统计之半监督学习
- js中解析json字符串
- 从计算机基础知识到机器学习第1堂课,最适合新手的5场直播来了
- 华为交换机默认vlan都是通的吗_华为设备二层交换技术——Hybrid接口详解
- 线性代数学习笔记(二)
- mysql调优 参数说明
- 使用@property
- 易语言 — 数据类型
- sklearn中的降维算法(PCA)(原理相关)-1
- origin 去掉白边
- 快手、抖音等短视频营销模式
- 国庆日快到啦!国庆版头像来了!总有一款适合你!
- AE开发之图层渲染20210603
- 简单内存泄漏检测方法,解决Detected memory leaks!问题 .
- 简单一点,利用xpath解析爬取站长素材的图片
- system32里的文件说明
- UTF-8和UTF-16简介
- .NET周报【11月第2期 2022-11-15】