idea中使用debug

起因 今天远程调试排查bug,所以就写一下idea中如何使用debug
介绍 idea中使用debug
文章图片

在你要断点的地方,点一下,会出现红色的点。
idea中使用debug
文章图片

以debug模式启动,run模式是无法断点的。
idea中使用debug
文章图片

成功断点就是这种情况。
idea中使用debug
文章图片

右击红点出现配置界面
idea中使用debug
文章图片

取消enabled的打勾,则无法断点。all模式,则断点后,其他线程均停止。thread模式则只有当前线程断点,其他线程不受影响(有时候本地和前后端联调,我以前不知道这个all,thread的时候,贼尴尬,我调试我自己的代码,前端就和我说为什么他连我的后端,没反应。搞得我起两个一模一样的程序,所以现在我调试,一般就是默认thread模式)。
idea中使用debug
文章图片

修改成thread模式,然后选择设置成默认模式。
idea中使用debug
文章图片

condition为条件模式,只有符合条件的时候才会被断点住,表现为断点出右下角有个?。这个功能也很实用。要知道程序有很多会用的for循环处理的地方,如何快速找到for循环里面哪里有问题,就靠这个了。
idea中使用debug
文章图片

上面调试过程中比较重要的按钮,f7,f8和drop frame最重要,f7是进入断点方法内部
idea中使用debug
文章图片

idea中使用debug
文章图片

drop frame是移除一个栈调用,回到之前的断点方法
idea中使用debug
文章图片

f8是不进入方法内部,在同一层级代码逐步向下
idea中使用debug
文章图片

在值处可以设置断点值,通过修改值以达到测试的效果
idea中使用debug
文章图片

idea中使用debug
文章图片

idea中使用debug
文章图片

远程调试 【idea中使用debug】上面都是断点调试中的基础,接下来讲下远程调试。主要是有一天测试环境有问题,开发环境没有问题,所以为了排查测试环境的问题是什么,所以需要远程调试。
idea中使用debug
文章图片

在服务器端,运行java -jat时,加入虚拟机参数,开启远程debug端口(我开启了5555)
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5555
idea中使用debug
文章图片

打开服务器部署的代码程序,新增remote
idea中使用debug
文章图片

选择舒输入,服务器地址,端口(5555),还有程序路径,接下来就可以快乐的远程调试了。再测试环境的操作,都能被本地断点住。

    推荐阅读