你好,欢迎进入江苏优软数字科技有限公司官网!

诚信、勤奋、创新、卓越

友好定价、专业客服支持、正版软件一站式服务提供

13262879759

工作日:9:00-22:00

Intellij IDEA 如何使用Debug?看这里!主要包括这些内容

发布时间:2025-06-21

浏览次数:0

出处:www..com/

Debug功能用于跟踪代码执行轨迹,当程序在运行时遭遇异常情况,激活Debug模式有助于我们找到异常的具体位置,并观察运行过程中参数的变动。此外,我们还可以通过开启Debug模式来观察代码执行过程,以便于学习第三方框架的源代码。

因此,掌握在IDEA中高效运用调试技巧至关重要,具体涉及以下要点:

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

一、Debug开篇

首先看下IDEA中Debug模式下的界面。

在IDEA软件中开启调试模式并达到断点位置时,您所看到的界面可能与Mac操作系统中的图标有所差异。以下是对图中标记的八个关键区域进行简要说明:

启动服务时选择Debug模式,界面左侧的相应按钮用于切换至Run模式。在软件开发过程中,我通常直接采用Debug模式,以便于随时对代码进行调试。

在左侧的行号区域点击鼠标左键,或者通过按下快捷键Ctrl+F8来添加或移除断点,您可以根据个人喜好自行调整断点所在行的颜色。

调试界面:当访问请求抵达首个断点时,调试界面将自动开启。若未自动开启,可前往相关设置进行调整,具体操作可参考图1.2。

调试按键共有八个,它们分别对应调试的核心功能。将鼠标置于任一按钮之上,即可显示相应的快捷键信息。此外,在菜单栏的“运行”选项中,也能找到与之相对应的功能,具体可参考图1.4。

⑤ 服务按钮:可以在这里关闭/启动服务,设置断点等。

方法调用记录:本部分呈现了线程在调试过程中所执行的全部方法列表,请注意勾选页面右上方

Show All

按下该按钮,将不会展示其他类库的函数,若不这么做,此处将涌现众多方法。

⑦ :在变量区可以查看当前断点之前的当前方法内的变量。

⑧ :查看变量,可以将区中的变量拖到中查看

Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键_intellij idea视频讲解

在设置选项中,若勾选了显示调试信息的功能,那么在程序请求进入断点时,系统将自动打开调试窗口。

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

若您的IDEA界面下方未呈现工具栏及状态栏,您可在“视图”菜单中进行激活,启用工具栏将有助于我们的操作便捷。不妨亲自试验一下这四个选项。

IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧_intellij idea视频讲解

在菜单栏的“Run”选项中,您能够找到调试的相关功能,并且还能查阅到相应的快捷键信息。

IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧_intellij idea视频讲解

回到顶部

二、基本用法&快捷键

Debug调试的功能主要对应着图一中4和5两组按钮:

1、首先说第一组按钮,共8个按钮,从左到右依次如下:

按下 Show Point 键(快捷键为 Alt + F10),若你的光标位于其他行或不同页面,点击此按钮即可快速跳转至当前代码正在执行的行。

按F8键执行“Step Over”操作,即逐行向下执行,遇到方法定义时将跳过进入方法内部。

Step Into(F7)功能:进入指定位置,若当前代码行存在函数,则可深入函数内部进行调试。通常应用于深入自定义函数,而非官方类库中的函数,例如第25行的put函数。

使用快捷键Alt+Shift+F7执行“强制步入”操作,此功能允许用户进入任意方法,尤其在需要查看底层源码时,能够方便地进入官方类库中的方法。

按Shift + F8快捷键,执行步出操作,即可从进入方式中退出,转至方法调用的起始位置。此时,方法执行已告一段落,但赋值工作尚未完成。

默认情况下不显示Drop Frame:关于回退断点的具体内容,将在后续章节中进行详尽阐述。

使用快捷键Alt + F9启动运行,此操作可让你将光标精确放置至所需查看的代码行,随后激活此功能,程序将自动执行至光标所在行,无需设置断点。

(Alt + F8):计算表达式,后面章节详细说明。

2、第二组按钮,共7个按钮,从上到下依次如下:

执行'xxxx'的再次运行:需对程序进行重启操作,服务将被终止,随后程序将重新启动。

在代码进行修改之后,您可以通过使用快捷键Ctrl + F5来刷新程序。这项操作通常用于确保程序能够反映最新的代码变更。具体来说,这个功能位于服务配置的设置中,如图2.3所示。

启动程序后,若在第20行与第25行设置了断点,当前执行至第20行时,按下F9键,程序将跳转至第25行的断点。若再次按下F9,程序将执行至流程结束,因后续已无断点设置。

程序暂停,进入调试模式。截至目前,尚未明确其具体操作方法。

执行'xxx'(按Ctrl + F2):连续点击两次,即可终止程序。有时在重新开启服务时,会遇到端口已被占用的提示,这通常是因为服务并未彻底关闭所致。在这种情况下,您需要检查并结束所有JVM进程。

Ctrl + Shift + F8快捷键可用于查看所有断点设置,该功能将在后续章节中有所涉及。

哑点处断开,选此操作后,所有断点均转为灰色,失去功能,此时按下F9键程序即可直接执行完毕。若再次点击,断点将恢复为红色,恢复其有效性。若仅想使特定断点失效,可在其上右击取消,如图2.4所示,该行断点将不再起作用。

在执行更新程序的过程中,针对特定项目,通常我们会进行一系列操作,这些操作通常包括对'更新类'和'资源文件'的修改。

通常搭配热部署工具使用会更加便捷,例如,这样一来,每次修改代码后便无需再次启动服务。具体激活方法,请参阅最后章节。

在IDEA框架中,当窗口失去焦点时,会自动执行相关操作,这通常发生在您从IDEA切换至浏览器等应用时。这类操作通常被设置为“Do”,但频繁进行此类切换会消耗较多系统资源。

Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键_intellij idea视频讲解

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

三、变量查看

在调试阶段,密切观察变量值的变动至关重要,以下将简要介绍在IDEA中可以查看变量信息的几个途径,这一点相信大多数人都是熟悉的。

1、如下,在IDEA中,参数所在行后面会显示当前变量的值。

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

当光标停留在参数之上时,会呈现出变量的实时信息。随后,通过点击操作,可以查看详细内容,如图3.3所示。我通常采用这种方法,因其操作简便快捷。

IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧_intellij idea视频讲解

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

3、在里查看,这里显示当前方法里的所有变量。

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

在界面中,您可以选择点击“新建观察”选项,然后输入您想要查看的具体变量。此外,您也可以直接从源处拖拽所需变量至观察区域。

IntelliJ IDEA Debug快捷键_intellij idea视频讲解_Intellij IDEA Debug模式使用技巧

如果你发现你没有,可能在下图所在的地方。

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

四、计算表达式

在图4.1中展示的计算表达式的按钮,可通过按下(Alt + F8)组合键来使用。此操作允许在调试阶段直接计算特定表达式的数值,无需额外进行信息打印。

按下Alt键加数字8,或者点击相应按钮,亦或是在某个表达式上先进行选择后再按Alt键加数字8,这样会弹出一个用于计算表达式的窗口,具体操作界面如下所示,随后您可以通过按回车键或者点击计算表达式的数值来完成操作。

此表达式不仅涵盖了常规变量或参数,还适用于方法调用。在编写代码时,若在一行中连续调用了多个方法,便可通过此途径来察看特定方法的输出结果。

IntelliJ IDEA Debug快捷键_intellij idea视频讲解_Intellij IDEA Debug模式使用技巧

设定变量后,在计算表达式的输入框中,我们能够调整变量的数值,这往往能极大地简化我们对不同数值组合进行调试的过程,不是吗?

Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键_intellij idea视频讲解

五、智能步入

思考一下,在一行代码中可能包含多个方法,那么如何仅挑选其中一个方法进行深入探究呢?之前已经介绍过,可以通过执行Step Into(快捷键Alt + F7)或者Force Step Into(快捷键Alt + Shift + F7)来进入方法内部,然而,这两个操作会按照方法的调用顺序逐一进入,这样做相对比较繁琐。

智能操作变得异常便捷,具体来说,智能步入功能在Run界面中即可找到,操作方法为按下Shift键加F7键,如图5.1所示。

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

按下Shift键加F7键,系统便会自动跳转至当前代码的断点所在行,同时会展示出可供选择的进入方法,具体操作可参照图5.2所示,只需点击相应的方法即可进入方法内部。

若仅存在一种途径,便可径直踏入,其过程与“强制步入”相仿。

IntelliJ IDEA Debug快捷键_intellij idea视频讲解_Intellij IDEA Debug模式使用技巧

六、断点条件设置

设定断点标准后,只有在条件得到满足的情况下,程序才会停留在断点位置,否则将连续执行。

通常情况下,我们在遍历较大的集合或数组时,循环中会设置一个断点。然而,我们是否需要逐个检查变量的数值呢?这无疑是一项繁重的工作,而且很可能导致你错过需要重新执行的机会。

在断点处点击鼠标右键,即可对当前断点的具体条件进行配置,参照图6.1所示,我设定exist为真值,只有在此条件下断点才会启动。

IntelliJ IDEA Debug快捷键_intellij idea视频讲解_Intellij IDEA Debug模式使用技巧

按下View键(或使用快捷键Ctrl + Shift + F8),即可浏览显示的所有断点设置。

Java行号呈现了所有断点位置,用户可在右侧进行勾选操作,并对断点条件进行相应设置。

选择“Log to”选项,即可将当前断点所在的行内容输出至控制台,具体操作如图6.3所示。

在执行该代码时,若勾选了“and log”选项,系统将自动计算表达式的数值,并将所得结果直接显示在控制台界面。

IntelliJ IDEA Debug快捷键_intellij idea视频讲解_Intellij IDEA Debug模式使用技巧

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

3、再说说右边的过滤,这些一般情况下不常用,简单说下意思。

进行实例筛选时,需输入实例的唯一标识符,例如图6.5所示的实例标识,然而我在此操作中遇到了障碍,未能如愿以偿,原因不明,若有人了解情况,还请留言告知。

Class :类过滤,根据类名过滤,同样没有成功….

在循环过程中,Pass count起到一个关键作用,它允许用户设定一个特定的次数,当循环达到这个次数时,程序将自动停止在当前断点位置,此后每次循环都将停留在该断点。

Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键_intellij idea视频讲解

Intellij IDEA Debug模式使用技巧_intellij idea视频讲解_IntelliJ IDEA Debug快捷键

在程序运行过程中,若遇到需拦截的异常,通过设定异常断点,系统将自动跳转至出现异常的代码行。

参照图6.6,需先点击加号图标,以添加Java功能,并设置异常断点。接着,输入目标异常类名称,如图6.7所示。完成操作后,您便能在Java环境中观察到所添加的异常断点。

我在此处设置了一个特殊的断点,如图6.8所示,当程序发生空指针错误时,系统会自动跳转至引发空指针错误的代码行。

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

七、多线程调试

通常在调试过程中,我们是在单一线程内逐步进行操作的,然而,有时你可能会遇到这样的情况,即在尝试进行调试时,你发现启动另一个请求变得不可能了。

IDEA在调试过程中,其默认的阻塞等级设定为ALL,这会导致其他线程的运行被暂停,只有当当前的调试线程执行完毕后,其他线程才会继续执行。用户可以在视图界面中进行调整,具体操作步骤如图7.1所示,随后点击“Make”按钮,将其设置为默认选项。

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

在图7.2的下拉菜单中,您能够进行线程的转换intellij idea视频讲解,以选择不同的线程进行操作。以我的情况为例,这里有两个标记为Debug的线程可供选择,若切换至另一条Debug线程,便将进入相应的调试环境。

Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键_intellij idea视频讲解

八、回退断点

在调试的时候,想要重新走一下流程而不用再次发起一个请求?

首先,让我们来了解这个方法的调用栈结构,如图8.1所示。首先,我们看到的是请求最初进入的方法,随后是依次调用的方法。至于其他的方法,我们暂时可以不予理会。而位于最上方的方法,正是我们当前所设置的断点所在的位置。

IntelliJ IDEA Debug快捷键_intellij idea视频讲解_Intellij IDEA Debug模式使用技巧

2、断点回退

所谓的断点回退,实际上是指将程序执行回溯至上一个方法调用的起始位置。在IDEA中,进行测试时无法逐行回退或直接回到上一个断点,而是只能回退至上一个方法。

回退操作可以通过两种途径实现,首先是点击图8.2所示的Drop Frame按钮,通过调用相应的方法进行逐级回退,这其中包括了三方类库中的其他方法;取消Show All按钮后,可以查看到三方类库的这些方法,如图8.3所示。

第二种操作方法,需在调用栈中挑选出需要回退的方法,接着用鼠标右键点击选择“Drop Frame”(如图8.4所示),从而退回到该方法的上一级调用点。完成这一步后,紧接着按下F9键,此时程序便会跳转至该方法的断点位置。

但需留意,一旦进行断点回退,流程需重新执行,而那些在过程中已发生变化的参数或数据,如对象、集合、数据库更新等,将无法恢复至原先的状态。

Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键_intellij idea视频讲解

Intellij IDEA Debug模式使用技巧_intellij idea视频讲解_IntelliJ IDEA Debug快捷键

九、中断Debug

想要在Debug的时候,中断请求,不要再走剩余的流程了?

遇到参数错误时intellij idea视频讲解,我们往往不想继续执行后续步骤,比如删除数据库中的数据,这时我们可能会犹豫,难道真的需要关闭整个服务并重启程序?是的,我之前确实是这样做的。

确切而言,我并未找到一种能够直接终止请求的手段(除了关闭服务),然而,我们可以通过执行强制返回操作来阻止后续流程的进行,具体可参考图9.1。

按下Force键后,会出现Value的对话框,由于我的方法返回值类型是Map,因此我直接返回一个空Map对象,以此实现强制返回,进而跳过后续的操作流程。另外,你也可以选择创建一个新的Map对象。

intellij idea视频讲解_Intellij IDEA Debug模式使用技巧_IntelliJ IDEA Debug快捷键

intellij idea视频讲解_IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧

有什么不妥之处或者更好的方式,欢迎留言!

长按关注,学习更多

IntelliJ IDEA Debug快捷键_Intellij IDEA Debug模式使用技巧_intellij idea视频讲解

如有侵权请联系删除!

13262879759

微信二维码