做开发好多年了,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模式,如操作:
现在,是不是有的同学又get了新技能。哈哈~~