起因
明天近程调试排查 bug,所以就写一下 idea 中如何应用 debug
介绍
在你要断点的中央,点一下,会呈现红色的点。
以 debug 模式启动,run 模式是无奈断点的。
胜利断点就是这种状况。
右击红点呈现配置界面
勾销 enabled 的打勾,则无奈断点。all 模式,则断点后,其余线程均进行。thread 模式则只有以后线程断点,其余线程不受影响(有时候本地和前后端联调,我以前不晓得这个 all,thread 的时候,贼难堪,我调试我本人的代码,前端就和我说为什么他连我的后端,没反馈。搞得我起两个截然不同的程序,所以当初我调试,个别就是默认 thread 模式)。
批改成 thread 模式,而后抉择设置成默认模式。
condition 为条件模式,只有符合条件的时候才会被断点住,体现为断点出右下角有个?。这个性能也很实用。要晓得程序有很多会用的 for 循环解决的中央,如何疾速找到 for 循环外面哪里有问题,就靠这个了。
下面调试过程中比拟重要的按钮,f7,f8 和 drop frame 最重要,f7 是进入断点办法外部
drop frame 是移除一个栈调用,回到之前的断点办法
f8 是不进入办法外部,在同一层级代码逐渐向下
在值处能够设置断点值,通过批改值以达到测试的成果
近程调试
下面都是断点调试中的根底,接下来讲下近程调试。次要是有一天测试环境有问题,开发环境没有问题,所以为了排查测试环境的问题是什么,所以须要近程调试。
在服务器端,运行 java -jat 时,退出虚拟机参数,开启近程 debug 端口(我开启了 5555)
-Xdebug -Xrunjdwp:transport=dt_socket,suspend=n,server=y,address=5555
关上服务器部署的代码程序,新增 remote
抉择舒输出,服务器地址,端口(5555),还有程序门路,接下来就能够高兴的近程调试了。再测试环境的操作,都能被本地断点住。