eclipse远程调试

在开发调试程序当碰到本地功能正常而测试环境出现问题时须要用到远程调试的功能。现针对eclipse下远程调试服务器上的web程序或者java程序做出总结html

eclipse远程调试java程序
第一步:远程服务器上的java程序以调试模式启动并指定调试端口java

以下截图在远程服务器上用java命令以调试模式启动dubbo服务的java程序并指定调试端口为9990(这个端口后面会用到)linux

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n -Xbootclasspath/a::/app/appsoft/taskpool/conf -jar taskpoolservice-0.0.1.jar com.psbc.cos.TaskpoolserviceApplication && tail -f nohup.outweb

 

nohup java -Xdebug -Xrunjdwp:transport=dt_socket,address=9990,server=y,suspend=n com.alibaba.dubbo.container.Main > /local/tmp/debug.logs 2>&1 &
第二步:在eclipse中配置远程调试并打上断点以debug模式启动与服务器上一样的程序(开始调试前须要确保本地服务代码与远程服务器上的代码一致)tomcat

 

在eclipse的java启动类中右键->Debug As->Debug Configurations服务器

 


建立一个远程调试服务网络

 


设置服务调试信息,注意端口与服务器上的服务调试商品保持一致而且本地到远程服务器的网络畅通,设置完成后点击Debug将本地服务以调试模式启动app

 


启动成功后会出现以下图红框内所示的图标(调试完成后也可点击该图标断开远程调试)eclipse

 


以下图所示为我本地接收到远程服务器上的请求进而能够进行远程调试的效果图socket


eclipse远程调试tomcat程序
在eclipse中远程调试tomcat程序的方法与调试JAVA程序相似,不一样之处在于远程服务器启动tomcat时加入相应调试JVM参数,因为时间缘由这里不详细说明,贴上网上一的参考连接:https://jingyan.baidu.com/article/0320e2c1f4ef6b1b87507b06.html
修改tomcat的启动脚本startup.bat。复制startup.bat为startup-debug.bat,而后打开startup-debug.bat,找到call "%EXECUTABLE%" start %CMD_LINE_ARGS%这一行,修改成“call "%EXECUTABLE%" jpda start %CMD_LINE_ARGS%”,而后在上面添加三行:

set JPDA_TRANSPORT=dt_socket

set JPDA_ADDRESS=9000

set JPDA_SUSPEND=n


设置好服务器以debug模式启动并指定端口后,仍然如前面所述在本地tomcat启动参数中加入远程调试参数并启动便可对远程环境上的相应程序进行调试
By the way:若是你的远程linux服务器开启了防火墙,且你在eclipse里开启远程调试时报错connection refused,connect timeout,须要检查一下是否未开通对应调试端口的防火墙访问权限,按以下方式添加:

一、linux开放服务端口

vi /etc/sysconfig/iptables

加入以下内容

 -A INPUT -p tcp -m tcp --dport 6001 -j ACCEPT 二、保存退出,重启服务 service iptables restart

相关文章
相关标签/搜索