查看“Intellij IDEA中使用Debug调试详解”的源代码
←
Intellij IDEA中使用Debug调试详解
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
[[category:Others]] ==背景== 平时开发的IDE使用Intellij IDEA开发Java程序。通过IDE的Debug用来追踪代码的运行流程,通常在程序运行过程中出现异常,启用Debug模式可以分析定位异常发生的位置,以及在运行过程中参数的变化。通常我们也可以启用Debug模式来跟踪代码的运行流程去学习三方框架的源码。对工具的数量掌握还是很有必要的。 ==Debug模式== 首先看下IDEA中Debug模式下的界面。进入断点后的界面,我这里是Windows,可能和Mac的图标等会有些不一样。就简单说下图中标注的8个地方: [[文件:Ideadebug1.1.png|600px|居中]] #以Debug模式启动服务,左边的一个按钮则是以Run模式启动。在开发中,我一般会直接启动Debug模式,方便随时调试代码。 #断点:在左边行号栏单击左键,或者快捷键Ctrl+F8 打上/取消断点,断点行的颜色可自己去设置。 #Debug窗口:访问请求到达第一个断点后,会自动激活Debug窗口。如果没有自动激活,可以去设置里设置,如图1.2。 #调试按钮:一共有8个按钮,调试的主要功能就对应着这几个按钮,鼠标悬停在按钮上可以查看对应的快捷键。在菜单栏Run里可以找到同样的对应的功能,如图1.4。 #服务按钮:可以在这里关闭/启动服务,设置断点等。 #方法调用栈:这里显示了该线程调试所经过的所有方法,勾选右上角的[Show All Frames]按钮,就不会显示其它类库的方法了,否则这里会有一大堆的方法。 #Variables:在变量区可以查看当前断点之前的当前方法内的变量。 #Watches:查看变量,可以将Variables区中的变量拖到Watches中查看 在设置里勾选Show debug window on breakpoint,则请求进入到断点后自动激活Debug窗口 [[文件:Ideadebug1.2.png.png|600px|居中]] 如果你的IDEA底部没有显示工具栏或状态栏,可以在View里打开,显示出工具栏会方便我们使用。可以自己去尝试下这四个选项。 [[文件:Ideadebug1.3.png|600px|居中]] 在菜单栏Run里有调试对应的功能,同时可以查看对应的快捷键。 [[文件:Ideadebug1.4.png|600px|居中]] ==基本用法&快捷键== Debug调试的功能主要对应着图一中4和5两组按钮: ===1、首先说第一组按钮,共8个按钮,从左到右依次如下:=== [[文件:Ideadebug2.1.png|居中]] > Show Execution Point (Alt + F10):如果你的光标在其它行或其它页面,点击这个按钮可跳转到当前代码执行的行。 > Step Over (F8):步过,一行一行地往下走,如果这一行上有方法不会进入方法。 > Step Into (F7):步入,如果当前行有方法,可以进入方法内部,一般用于进入自定义方法内,不会进入官方类库的方法,如第25行的put方法。 > Force Step Into (Alt + Shift + F7):强制步入,能进入任何方法,查看底层源码的时候可以用这个进入官方类库的方法。 > Step Out (Shift + F8):步出,从步入的方法内退出到方法调用处,此时方法已执行完毕,只是还没有完成赋值。 > Drop Frame (默认无):回退断点,后面章节详细说明。 > Run to Cursor (Alt + F9):运行到光标处,你可以将光标定位到你需要查看的那一行,然后使用这个功能,代码会运行至光标行,而不需要打断点。 > Evaluate Expression (Alt + F8):计算表达式,后面章节详细说明。 ===2、第二组按钮,共7个按钮,从上到下依次如下:=== [[文件:Ideadebug2.2.png|居中]] > Rerun 'xxxx':重新运行程序,会关闭服务后重新启动程序。 > Update 'tech' application (Ctrl + F5):更新程序,一般在你的代码有改动后可执行这个功能。而这个功能对应的操作则是在服务配置里,如图2.3。 > Resume Program (F9):恢复程序,比如,你在第20行和25行有两个断点,当前运行至第20行,按F9,则运行到下一个断点(即第25行),再按F9,则运行完整个流程,因为后面已经没有断点了。 > Pause Program:暂停程序,启用Debug。目前没发现具体用法。 > Stop 'xxx' (Ctrl + F2):连续按两下,关闭程序。有时候你会发现关闭服务再启动时,报端口被占用,这是因为没完全关闭服务的原因,你就需要查杀所有JVM进程了。 > View Breakpoints (Ctrl + Shift + F8):查看所有断点,后面章节会涉及到。 > Mute Breakpoints:哑的断点,选择这个后,所有断点变为灰色,断点失效,按F9则可以直接运行完程序。再次点击,断点变为红色,有效。如果只想使某一个断点失效,可以在断点上右键取消Enabled, [[文件:Ideadebug2.4.png|600px|居中]] 则该行断点失效。 [[文件:Ideadebug2.3.png|600px|居中]] 更新程序,On 'Update' actions,执行更新操作时所做的事情,一般选择'Update classes and resources',即更新类和资源文件。 一般配合热部署插件会更好用,如JRebel,这样就不用每次更改代码后还要去重新启动服务。如何激活JRebel,在最后章节附上。 下面的On frame deactivation,在IDEA窗口失去焦点时触发,即一般你从idea切换到浏览器的时候,idea会自动帮你做的事情,一般可以设置Do nothing,频繁切换会比较消耗资源的。
返回至
Intellij IDEA中使用Debug调试详解
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
首页
首页
操作系统
Linux
周边工具
Git
开发语言
Java
Python
Golang
中间件
RabbitMQ
Kafka
数据存储
Redis
Mysql
其他
包罗万象
导航
最近更改
随机页面
MediaWiki帮助
工具
链入页面
相关更改
特殊页面
页面信息