1、配置Linux服务器下Tomcat/bin/catalina.sh
在第一行增加代码:
CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n"
其中8899即为我们远程调试的端口,后面会用到。另外,该命令不可手工换行(博客显示的时候可能会被换行,实际配置的时候请注意)。
参数说明:
-Xdebug : 启用调试模式
-Xrunjdwp<sub-options> :加载JVM的JPDA参考实现库
transport=dt_socket :Socket连接,可选dt_shmem 通过共享内存的方式连接到调试服务器
address=8000 :调试服务器监听的端口
server=y : 是否是服务器端,n为客户端
suspend=n : 启动过程是否加载暂停,y为启动时暂停,方便调试启动过程
2、启动tomcat,查看tomcat是否启动成功
如果启动成功,tomcat日志文件(catalina.out)中会有如下输出:
Command line argument: -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899
3、配置Eclipse
点击Eclipse上面的debug图标,选择Debug Configurations,打开窗口找到Remote Java Application,
创建一个远程调试,按下图配置
点击Source Java Project 将依赖的java code引入
4、验证
我们打开源码项目中的任意需要调试的代码,像普通本地debug一样设置断点,然后对服务器部署的项目发起请求。
点击上面圈起来的图标(Disconnect)即可断开Debug模式。
断开Debug模式后,可以随时再开启Debug模式,如以下操作:
5、注意事项
远程debug要保证本地代码和服务器代码一直,否则调试结果不一致
端口号必须是可以访问的端口