使用Eclipse远程调试Tomcat

红薯 发布于 2010/04/24 18:33
阅读 13K+
收藏 17

有些时候,调试不得不用外网,比如说做支付宝的支付接口,服务器后台通 知就不得不用外网的ip。无奈,只能扔到服务器远程调试了。

网上讲关于远程调试tomcat的倒是蛮多,基本都是将改啥catalina.sh,startup.sh的,操作还是复杂点。下面这篇就只针对于 linux下的tomcat远程调试,不用改啥文件,简单而又没啥副作用。本人在tomcat6 的情况下远程调试成功。

相信很 多J2EE的开发者都是在Windows上面开发程序,然后把程序上传到Linux下运行的吧。可是有时候在自己机器上运行的好好的程序,放到服务器下就 出错了。单单看出错信息也推断不出是哪里的问题。这时候试试用Java的JPDA远程调试程序,一定可以让你很满意。

tomcat服务器已经内置了JPDA支持,只要用:

catalina.sh jpda start

这条命令启动tomcat,它就会监听8000端口,等待调试器的连接。要注意不能使用 startup.sh脚本。tomcat会使用 JPDA_ADDRESS这个环境变量的值。比如想监听8017端口:

export  JPDA_ADDRESS=8017
catalina.sh jpda start

接着,选一个自己喜欢的调试器,基本上现在主流的如Eclipse、NetBean都可以。我主要使用Eclipse,操作只要三步:

1.选择“Run”菜单里的“Open Debug Dialog”。

2.在对话框里找到“Remote Java Application”。 右键菜单选择“New”创建一个配置。

3.新创建的配置的Project选择服务器上的工程。Host和Port分别填写你服务器的IP和JPDA的端口,默认是8000,或 者$JPDA_ADDRESS。

现在就可以像本机调试一样, 设置断点和跟踪调试了。

加载中
0
rockjava
rockjava

本地eclipse中的工程代码要和远程linux上跑的工程一致吧??

或者说,本地无需代码直接建立个Remote Java Application 就可以调试吗?


0
黑马王子
黑马王子

学习了,可能默认的tomcat服务是启动startup.sh的吧

0
黑马王子
黑马王子

我用ubuntu的apt-get 安装的tomcat6,默认他启动的命令是在哪里的?是不是在/usr/share/tomcat6/bin目录的startup.sh 或者 catalina.sh?

0
Terry_Zheng
Terry_Zheng
如果想调试独立的 JAR 包应用,没有 Tomcat,可以看看 使用 Eclipse 远程调试 Java 应用程序 。
0
l
lengmianshi
我成功了,感谢楼主提供的简便方法
返回顶部
顶部