红薯“http://www.oschina.net/question/12_8196”
有些时候,调试不得不用外网,比如说做支付宝的支付接口,服务器后台通 知就不得不用外网的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。
现在就可以像本机调试一样, 设置断点和跟踪调试了。