做开发好多年了,Debug大家肯定都不陌生,绝对称得上是家常便饭了。博主虽不敢妄下断言,但是这里也猜一下,肯定有很多人都没有使用过Remote Debug(远程调试)。说来惭愧,博主也是工作了3年才用上这么个玩意,今天又使用到,所以整理个帖子分享一下。
何谓远程调试,就是我们把打包后的代码部署到服务器上之后,使用本地开发环境连接到服务器部署环境,以这样的方式调试。
在实际开发中,并不是所有问题都能在本地发现。一旦我们遇到服务器上出现的BUG又很难排查的时候,使用远程调试,就可能帮助我们尽快的排查和解决问题。可谓 “虽不常用,但确实用”。
下面说一下方法吧:
环境:Tomcat、Eclipse,做远程调试我们并不需要其他特殊插件
1、配置Tomcat/bin/startup.bat
在前面增加代码:SET CATALINA_OPTS=-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8000
其中8000即为我们远程调试的端口,后面会用到。另外,该命令不可手工换行(博客显示的时候可能会被换行,实际配置的时候请注意)。
2、启动Tomcat
查看Tomcat控制台输出,能看到我们刚刚的配置已经生效,输出如下:
3、配置Eclipse
点击Eclipse上面的debug图标,选择Debug Configurations,打开窗口找到Remote Java Application,如下图:
双击 Remote Java Application 即可创建一个远程调试,按下图配置:
点击Debug即可进入Debug模式。
4、验证
我们打开源码项目中的任意需要调试的代码,像普通本地debug一样设置断点,然后对服务器部署的项目发起请求。
如下图所示,成功!!!
点击上面圈起来的图标(Disconnect)即可断开Debug模式。
断开Debug模式后,可以随时再开启Debug模式,如操作:
学习重在实践,要多实践。