查看原文
其他

IntelliJ IDEA使用技巧——IDEA工具Debug模式断点调试详解03期

素文宅博客 Java精选 2022-08-09


项目Debug模式启动调试代码的时候(点击绿色的甲虫启动服务器),当程序运行到代码断点位置就可以在代码里边调试了。


详细解释一下每个按钮(按钮对应图中的数字)所具有的功能,具体如下图所示:


“1”按钮含义rerun XXX,这个是直接重新跑某个程序

“2”按钮含义相当于eclipse里面的f8,直接跑完,到下一个断点停下,没有就直接跑完程序

“3”按钮含义停止项目或者程序。要是自己的main呢,点一下就停下了,要是Java web项目,则点2下,就把服务器给停了。

“4”按钮含义查看所有的断点设置情况。

“5”按钮含义直接取消所有断点,让所有断点无效。

“6”按钮含义如果下面的排版布局乱了,可以点这个按钮,它就会把下面的布局给还原。

“7”按钮含义Show Execution Point:显示执行端点(Alt + F10)。跳转到当前代码所执行的地方,也就是说你在看代码的时候,点到其他地方,一点这个按钮,就到了程序执行到当前哪行的代码的地方。

“8”按钮含义Step Over:跳到下一步(F8)。下一步,如果是方法,他是不会跳进去的。就是一行行的往下走。(eclipse里面的快捷键就是f6)

“9”按钮含义Step Into:进入代码或者说进入到方法内部(F7)。跳转到详情,如果下一行调试代码是可执行方法,就可以f5进去,查看这个方法的运行详细情况,重点就是点进去执行。

“10”按钮含义Force Step Into:强制进入代码或者说进入到方法内部(Alt + Shift + F7)。逐步跳转,如果下一行调试代码是可执行方法,不会进入方法的内部方法中调试代码,只会逐步进行,不会多级跟进跳转方法。

“11”按钮含义Step Out:跳到下一个断点或者跳出方法(Shift + F8)。从详情跳出去,和上面的“9”相反。

“12”按钮含义Drop Frame:放弃当前debug,重新执行debug。当调试代码时进入方法体之后,若果还想回退到方法体外,点这个按钮后,断点重新回到方法体之外。在继续还是可以再次进到方法内。

“13”按钮含义Run to Cursor:运行到光标处(Alt + F9)。看字面意思就是跳转到那个光标所在的地方,前提是他能路上没断点拦着。

“14”按钮含义看意思,同eclipse里面的watch,查看某个对象的值,自定义的对象。

“15”按钮含义把自定义的查看对象的值,分开到另一个tab页。

“16”按钮含义这个点开之后,可以计算你想要看的代码段的值。 


查看断点处的某个对象的值,如下几个方法:

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

2)在watch里面添加这个对象

3)代码中有时会自动列出来你代码里面有的值

4)使用上面图上标注的“16”的那个按钮

5)alter + click,按住alter,然后点击想看的变量,就出现变量的值


下面详细讲述一下“4”,“14”,“16”号按钮的作用,以及使用方法。

按钮“4”,查看所有的断点的详情,点击按钮如下所示:

 


关于设置断点条件还可以直接在代码断点处,右键设置,完成后后,Done,设置完成,具体如下图所示:


按钮“14”,自行添加,你想查看的变量的值,如图所示:


在调试代码过程中,实时修改运行状态的代码变量的值,(num变量原来被赋值是100,在watches里重新赋值为99,之后num变量的值就是修改后的值了)如图所示:


按钮“16”,可以根据你的输入,计算你要的结果,不局限代码里面的变量是什么。这个在Debug的时候,使用起来是相当方便,具体如图所示:


调试代码的时候,设置运行时的参数,如下图所示:


推荐阅读

 

IntelliJ IDEA使用技巧——IDEA增加jar包02期

IntelliJ IDEA使用技巧——IDEA常用快捷键01期

Intellij IDEA开发中你可能忽略使用的那些快捷键

Eclipse应该向IntelliJ IDEA学习的5种优秀特性

微框架Spring Boot使用Redis如何实现Session共享

SpringMvc框架MockMvc单元测试注解及其原理分析


更多推荐↓↓↓
 

关注微信公众号“Java精选”(w_z90110),回复关键字领取资料:如HadoopDubboCAS源码等等,免费领取资料视频和项目。 


涵盖:程序人生、搞笑视频、算法与数据结构、黑客技术与网络安全、前端开发、Java、Python、Redis缓存、Spring源码、各大主流框架、Web开发、大数据技术、Storm、Hadoop、MapReduce、Spark、elasticsearch、单点登录统一认证、分布式框架、集群、安卓开发、iOS开发、C/C++、.NET、Linux、Mysql、Oracle、NoSQL非关系型数据库、运维等。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存