使用Eclipse远程调试Linux服务器Tomcat项目

工作这些年,经常会出现这样的情况,程序运行在本机是正常的,但是放到服务器上就出现各种bug,且服务器通用都是linux服务器,不方便调试,很难排查问题,这时候就需要

用到Eclipse的远程调试功能。说来惭愧,博主也是最近才知道这个功能,因此整理出这个帖子,以供大家分享。

何谓远程调试,就是我们把打包后的代码部署到服务器上之后,使用本地开发环境连接到服务器部署环境,以这样的方式调试。
下面说一下方法吧:

环境:Eclipse、Linux服务器下tomcat环境,做远程调试并不需要其他特殊插件

1、配置Linux服务器下Tomcat/bin/catalina.sh

在第一行增加代码:
CATALINA_OPTS="-server -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=8899"
其中8899即为我们远程调试的端口,后面会用到。另外,该命令不可手工换行(博客显示的时候可能会被换行,实际配置的时候请注意)。


参数说明:
-Xdebug                                    : 启用调试模式
-Xrunjdwp<sub-options>      :加载JVM的JPDA参考实现库
transport=dt_socket               :Socket连接,可选dt_shmem 通过共享内存的方式连接到调试服务器
address=8000                        :调试服务器监听的端口
server=y                                    : 是否是服务器端,n为客户端
suspend=n                              : 启动过程是否加载暂停,y为启动时暂停,方便调试启动过程

(

Window中修改 catalina.bat文件,添加:
Set  "CATALINA_OPTS=-Xdebug  -Xrunjdwp:transport=dt_socket,address=8899,server=y,suspend=n"

)

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,如下图:


创建一个远程调试,按下图配置,然后点击“Debug”


4、验证

我们打开源码项目中的任意需要调试的代码,像普通本地debug一样设置断点,然后对服务器部署的项目发起请求。
如下图所示,则表示已经成功。


点击上面圈起来的图标(Disconnect)即可断开Debug模式。
断开Debug模式后,可以随时再开启Debug模式,如以下操作:


5、注意事项

远程debug要保证本地代码和服务器代码一直,否则调试结果不一致
端口号必须是可以访问的端口
  • 6
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值