调试远程服务项目程序代码——Eclipse调试远程服务器

感谢博主分享: https://blog.csdn.net/superit401/article/details/78307659

******

注意: 需要先启动remote java application debug 和debug启动项目,才能进入本地断点

*******

我采用的是dier第二种方式, 将JAVA_OPTStian添加到catalina.sh中JAVA_OPTStian变量最后一次声明的下方

1.把本地项目打出war包部署到远程服务器后,本地和服务器的代码不要再动了,保持一致

2.查出远程服务器ip:运行命令ifconfig

3.开启远程服务器端口8080,8000,9988:运行命令iptables -I INPUT -p tcp --dport 8080 -j ACCEPT

4.远程服务器启动tomcat中的项目

I.第一种

(1)设置环境变量,开启远程调试端口为9988(随意设置端口):运行命令 export JPDA_ADDRESS=9988

(此步也可省去,那么默认开启监听远程调试的端口就是8000)

(2)启动tomcat:运行命令sh catalina.sh jpda start来 启动

通过这条命令启动tomcat,会监听JPDA_ADDRESS设置的端口,等待调试器连接。

II.第二种

(1)用vi命令在catalina.sh(tomcat安装目录下的bin目录下)加上如下一行

 JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=9988"

说明:server=y 是指目标应用程序作为服务监听将要连接的远程调试器(常用); suspend=y 是指目标VM将暂停,直到调试器应用程序进行连接(若需要调试启动错误,很有用); suspend=n 是指目标VM不暂停; address=9988 监听端口。

(2)启动tomcat

直接通过startup.sh启动即可

注:通过ps -aux|grep tomcat查看启动的tomcat进程,刚才配置的-Xdebug等选项出现在进程信息中,证明配置成功。

5.本地Eclipse的远程调试配置:

(1)debug——Debug Configurations....——Java Application——双击Remote Java Application

Name:自定义,任意名称

Project:本机eclipse中的WEB项目,与远端服务器上部署的WEB项目一致

Connection Type:默认Standard(Socket Attach)就行了

Host:刚查出来的被调试的远端服务器ip

Port: 远端服务器中环境变量JPDA_ADDRESS的值(不设置则默认为8000)

勾选上Allow termination of remote VM

(2)填写信息如上——Apply——Debug

6.在本地Eclipse中自己要调试的代码打断点

7.浏览器访问服务器接口连接来调试:http://192.168.1.3:8080/demoProj/testEveryServlet

你会发现,虽然访问的连接是远程服务器的,但是本地eclipse就进入了调试模式。可以在本地eclipse的debug模式中看到远程服务器里的参数传递过程,但是本地不会留下任何日志,控制台也不会有任何日志打印。

参考:http://www.cnblogs.com/dreammyle/p/4671449.html

若本地Eclipse远程调试时出现报错:Failed to connect to remote VM. Connection refused. Connection refused: connect则参考:

http://blog.csdn.net/u011008029/article/details/50586793

猜你喜欢

转载自blog.csdn.net/changerzhuo_319/article/details/81119026