一、选择断点

在源码的左边竖条可选择任意点作为断点,单击鼠标左键即可

idea在 java agent 中打断点 idea如何打断点_恢复程序

 

二、Dubug

点击上边任务栏的虫子按钮就开始调试了

idea在 java agent 中打断点 idea如何打断点_赋值_02

 

三、Debug面板

开始调试之后,下面会出现debug面板,现在还没触发controller,所以还是显示控制台Console的界面

idea在 java agent 中打断点 idea如何打断点_恢复程序_03

点击Console左边的Dubugger,这是调试过程中主要用到的工具界面

idea在 java agent 中打断点 idea如何打断点_赋值_04

这里面有两排工具是我们要用到的

idea在 java agent 中打断点 idea如何打断点_赋值_05

 

先介绍横着的

idea在 java agent 中打断点 idea如何打断点_方法调用_06

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

idea在 java agent 中打断点 idea如何打断点_方法调用_07

    Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。

idea在 java agent 中打断点 idea如何打断点_方法调用_08

    Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法。

idea在 java agent 中打断点 idea如何打断点_赋值_09

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

idea在 java agent 中打断点 idea如何打断点_赋值_10

     Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。

idea在 java agent 中打断点 idea如何打断点_方法调用_11

     Drop Frame (默认无):回退断点。

idea在 java agent 中打断点 idea如何打断点_恢复程序_12

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

idea在 java agent 中打断点 idea如何打断点_恢复程序_13

     Evaluate Expression (Alt + F8):计算表达式。

 

再介绍竖着的

idea在 java agent 中打断点 idea如何打断点_赋值_14

     Rerun 'xxxxApplication':重新运行程序,会关闭服务后重新启动程序。

idea在 java agent 中打断点 idea如何打断点_方法调用_15

    Resume Program (F9):恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。

idea在 java agent 中打断点 idea如何打断点_恢复程序_16

     Pause Program:暂停程序,启用Debug。目前没发现具体用法。

idea在 java agent 中打断点 idea如何打断点_方法调用_17

     Stop 'xxx' (Ctrl + F2):连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。

idea在 java agent 中打断点 idea如何打断点_方法调用_18

     View Breakpoints (Ctrl + Shift + F8):查看所有断点。

idea在 java agent 中打断点 idea如何打断点_赋值_19

     Mute Breakpoints:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled。

 

变量查看面板

被执行过的程序,会显示出该程序中所涉及的参数的值,下面的面板也会列出

idea在 java agent 中打断点 idea如何打断点_恢复程序_20

可以将鼠标悬停在变量上,点击 + 号,查看变量详情

idea在 java agent 中打断点 idea如何打断点_方法调用_21

idea在 java agent 中打断点 idea如何打断点_恢复程序_22

而左边的文件列表就是被执行的文件栈

idea在 java agent 中打断点 idea如何打断点_方法调用_23